[ZOJ 1504] Slots of Fun

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1504

 

題目大意:

按照上圖方式用圓圈疊一個三角形,每個圓圈內有一個小寫字母。

如果有至少一個字母相同的圓圈組成的等邊三角形,則win。比如上圖有由a和c構成的2個等邊三角形。若這樣的等邊三角形不存在,則lose。

若win,打印所有能構成等邊三角形的字母(按照a..z的順序!),若lose,輸出LOOOOOOOOSER!

 

解題思路:

n不是很大,一般都是枚舉。

對同一個字母,例如a,枚舉出3個不同的a圈,計算一下是不是等邊的。

由於要計算等邊,不防對每個圓圈賦予一個座標,如圖可以看出橫縱座標都是有關係的,可以以隨便什麼方式建立一個座標系。

例如:

設頂端圓圓心爲座標原點,作xy軸,假設圓半徑爲1

爲了避免使用浮點運算的時候的精度問題,所有座標都可以用整數來存儲,因爲判斷等邊的時候用邊長的平方也是可以的。

 

 

發佈了43 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章