最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
陇川县| 怀柔区| 广河县| 临桂县| 额尔古纳市| 廉江市| 安多县| 徐汇区| 东平县| 黔西| 永嘉县| 阳泉市| 岳池县| 梅州市| 富蕴县| 淳化县| 宁海县| 元朗区| 梅河口市| 怀集县| 康马县| 广南县| 桐柏县| 兴城市| 陕西省| 米脂县| 阜宁县| 广水市| 白山市| 佛山市| 澄迈县| 武清区| 和平区| 保德县| 石嘴山市| 漳平市| 健康| 郑州市| 伊宁县| 河北省| 甘德县|