2015年百度之星程序设计大赛 - 资格赛 (1004放盘子)
生活随笔
收集整理的這篇文章主要介紹了
2015年百度之星程序设计大赛 - 资格赛 (1004放盘子)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目鏈接】:click here~~
小度熊喜歡惡作劇。今天他向來訪者們提出一個惡俗的游戲。他和來訪者們輪流往一個正多邊形內放盤子。最后放盤子的是獲勝者,會贏得失敗者的一個吻。玩了兩次以后,小度熊發現來訪者們都知道游戲的必勝策略。現在小度熊永遠是先手,他想知道他是否能獲勝。
注意盤子不能相交也不能和多邊形相交也不能放在多邊形外。就是說,盤子內的點不能在多邊形外或者別的盤子內。
【解題思路】數學題,題目Hint是關鍵了,因為小度熊先在多邊形中間放一個盤子,接下來無論來訪者怎么放,小度熊都根據多邊形中心與來訪者的盤子對稱著放就能獲勝。,所以只需判斷多邊形對角線的長度與盤子半徑(或者說直徑)就可以了
代碼:
#include <stdio.h> #include <math.h> #include <string.h> #include <iostream> #include <algorithm> using namespace std; const int N=1e5+5; int num[N]; const double eps=1e-6; const double pi=acos(-1.0); int main() {int t,tot=1;cin>>t;while(t--){double n,m,r;cin>>n>>m>>r;printf("Case #%d:\n",tot++);double ll=(m/2)/tan(pi/n);//多邊形對角線長度if(ll>r+eps) puts("Give me a kiss!");else puts("I want to kiss you!");}return 0; }總結
以上是生活随笔為你收集整理的2015年百度之星程序设计大赛 - 资格赛 (1004放盘子)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 出版社给了些当当网计算机图书特优惠码
- 下一篇: 2016 百度之星 B题(java实现)