五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【藍(lán)橋杯學(xué)習(xí)記錄】直線

2022-04-03 20:42 作者:長(zhǎng)舟泛歌  | 我要投稿

一、題目

在平面直角坐標(biāo)系中,兩點(diǎn)可以確定一條直線。

給定平面上?20 × 21 個(gè)整點(diǎn)?{(x, y)|0 ≤ x < 20, 0 ≤ y < 21, x ∈ Z, y ∈ Z}即橫 坐標(biāo)是?0 到?19 (包含?0 和?19) 之間的整數(shù)、縱坐標(biāo)是?0 到?20 (包含?0 和?20) 之 間的整數(shù)的點(diǎn)。

請(qǐng)問(wèn)這些點(diǎn)一共確定了多少條不同的直線。

二、解題思路

通過(guò)點(diǎn)組合來(lái)計(jì)算非常復(fù)雜,而且對(duì)于線重合的情況不好計(jì)算,如果用四個(gè)點(diǎn)來(lái)計(jì)算,可以循環(huán)(x1,y1),(x2,y2)四個(gè)值,但這要四重循環(huán),且驗(yàn)重用斜率比較好計(jì)算,所以可以直接用點(diǎn)斜式來(lái)計(jì)算,通過(guò)斜率和截距來(lái)驗(yàn)重,點(diǎn)斜式的斜率、截距計(jì)算公式如下:

k%3D%5Cfrac%7By2-y1%7D%7Bx2-x1%7D%2Cb%3D%5Cfrac%7B(x2%5Ctimes%20y1)-(x1%5Ctimes%20%20y2)%7D%7Bx2-x1%7D%20%20

于是我們先用一個(gè)結(jié)構(gòu)體point來(lái)存儲(chǔ)下所有的點(diǎn),再用一個(gè)map<<k,b>,flag>,鍵表示斜率和截距,值表示是否計(jì)算過(guò)相同的斜率和截距。

這樣,通過(guò)雙重循環(huán)來(lái)循環(huán)結(jié)構(gòu)體,可以達(dá)到組合每個(gè)點(diǎn)的目的。然后再循環(huán)中計(jì)算斜率和截距,并檢查是否之前計(jì)算過(guò)。

三、完整代碼

四、出現(xiàn)問(wèn)題

開(kāi)始結(jié)構(gòu)體中x,y是int類(lèi)型,ans定義的是double類(lèi)型,但是結(jié)果出來(lái)是int類(lèi)型,出現(xiàn)了問(wèn)題。

還有就是知道了一個(gè)新的知識(shí),就是pair類(lèi)型,準(zhǔn)確來(lái)說(shuō)不是一個(gè)類(lèi)型,而是一個(gè)結(jié)構(gòu)體,而且是一個(gè)結(jié)構(gòu)體模板,將<>中的兩個(gè)數(shù)據(jù)組合成一個(gè)數(shù)據(jù),所以用的時(shí)候需要跟模板一樣聲明具體是什么類(lèi)型,然后在傳數(shù)據(jù)的時(shí)候因?yàn)槭墙Y(jié)構(gòu)體,所以可以用{}包起來(lái)兩個(gè)數(shù)據(jù)。就像上邊寫(xiě)的一樣。

還有就是C++標(biāo)準(zhǔn)庫(kù)直到C++11才加入map,所以在編譯時(shí)編譯設(shè)置要加入-std=c++11




【藍(lán)橋杯學(xué)習(xí)記錄】直線的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
泰安市| 会东县| 永仁县| 迁西县| 潍坊市| 仙桃市| 巫溪县| 偃师市| 城固县| 昌黎县| 昂仁县| 灌阳县| 鲜城| 泊头市| 定远县| 海盐县| 应城市| 家居| 东光县| 青铜峡市| 绥化市| 江源县| 新泰市| 大兴区| 当雄县| 垦利县| 阳朔县| 华亭县| 喜德县| 鹤峰县| 横峰县| 湘乡市| 饶河县| 武夷山市| 乌恰县| 金川县| 南阳市| 宜兰市| 磴口县| 舞阳县| 绍兴市|