hdu2073 無限的路

2021-08-18 21:07:42 字數 874 閱讀 9811

這道題吧我覺得還是有點思維量的。

思路:1.我們要求的是兩點之間的距離,可以轉化為點到原點的距離,然後相減。

2.首先看這張圖分為兩種線:一種是有點的線【如(0,1)與(1,0)的線;(0,2)與(2,0)的線】,一種是沒有點的線【如(0,1)與(0,0)的線;(0,2)與(1,0)的線,(0,3)與(2,0)的線】。

我們先看第二種線(因為這種考慮的情況要少些):

a.假設要求的是(0,2)到原點的距離,最近的沒有點的邊那就是sqrt(pow(1,2)+pow(2,2));同理假設要求得是(0,4)到原點的距離,最近的沒有點的那就是sqrt(pow(3,2)+pow(4,2)); 

b.假設要求得是(3,0),最近的沒有點的邊為sqrt(pow(2,2)+pow(3,2));

c.假設要求得 是(1,2),然後發現離該點最近的沒有點的邊是(0,3)與(2,0)之間的連線,1+2=3,然後也就可以像上面那樣子做了。

最後看第一種帶點的線:很簡單的我們可以發現第乙個邊為sqrt(2),第二個邊為2*sqrt(2),第三個邊為3*sqrt(2);

假如求得是(1,2),有1+2=3,3-1條完整的有點的邊,然後根據這個點的x座標來計算最後還有幾個根號2.

然後就大功告成!!!!!

#include#includedouble ll(int x,int y)

for(i=1;i

s2=s2+x*l;

s2=s2+s1;

return s2;

}int main()

}return 0;

}

HDU2073 無限的路

純幾何題。題目是讓求兩點之間的折線距離,很自然的就可以想到分別求出兩點到原點的距離,然後相減即可,本題沒說兩點的先後,再多一步取絕對值就ok了。求一點到原點之間的距離,可以把折線分成兩部分,很容易可以看出,一部分是sqrt 2 的整數倍,另一部分寫幾個就很容易看出,依次是sqrt 1 1 2 2 s...

HDU 2073 無限的路

problem description 甜甜從小就喜歡畫圖畫,最近他買了一支智慧型畫筆,由於剛剛接觸,所以甜甜只會用它來畫直線,於是他就在平面直角座標系中畫出如下的圖形 甜甜的好朋友蜜蜜發現上面的圖還是有點規則的,於是他問甜甜 在你畫的圖中,我給你兩個點,請你算一算連線兩點的折線長度 即沿折線走的路...

遞推 HDU 2073 無限的路 (找規律)

意外之喜 還挺不錯的一道題目 仔細觀察不難發現 其實整個路線只有這兩種線 綠色跟紅色 並且在移動過程中 x,y 的改變 紅線部分 總是遵循這兩種規律 x 1,y 1 或者 x 1,y 1 設x y z 在同一條紅線中z的值是不變的 既然如此 我們不如直接用x y來計算紅線部分的總值,忽略x與y的具體...