2010年9月2日 星期四

PKU 2540 Hotter Colder [CG]

7564334    poao899    2540    Accepted    424K    0MS    G++    3998B    2010-09-02 22:09:01                         .



CG題好硬QQ不過應該是打定了XD寫起來頗有成就感(?)

看那精美的code length(望

不過   看到這題還是會想到IOI那個吧XD





題目大意:

有個房間,大小10*10

你一開始站在(0,0),某個位置有一個熱源。

接下來每次你會移動到任意一個座標,然後會告訴你感覺Hotter還是Colder還是Same

每次移動輸出一個數字表示  "熱源可能位置"  的面積。

保證不會移動超過50次。





Sample Input:

10.0 10.0 Colder
10.0 0.0 Hotter
0.0 0.0 Colder
10.0 10.0 Hotter

Sample Output:

50.00
37.50
12.50
0.00



















===============解題報告===============


等於每次對多邊形切一條線,問面積。

測資很小所以可以每次把所有點掃過一遍。


幾個要注意的地方:

1.  判斷交點要注意等於0的狀況= =
2. 把兩個交點去修正多邊形時要注意加入的順序。
3. 注意如果重複點加入多邊形,會爆炸。




大概差不多這樣吧xD




2 則留言:

  1. 我真的以為是IOI那個||| 原來是計算幾何
    [版主回覆09/05/2010 19:47:07]Suborng You欸!

    回覆刪除
  2. 做不了的夢最美2010年9月5日 凌晨4:45

    Can be solved in O(n lg n) complexity with Balanced Tree.

    回覆刪除