标签:ring else 现在 none middle return family cst bcd
题目大意:
两只海鸥轮流将白方格涂黑,每次能图连续的P个方格,谁涂最后一个就赢。P应满足:
(1),L为当前最长的连续白色方格个数。
(2)若P能去素数,则P只能取素数;否则取1。
现在输入开始时白方格的个数(都是连着的),要求输出先手胜还是后手胜。(1?≤?L≤?107)
思路:
首先要知道那个是上取整!!!!!!
初始个数为1时,先手胜;初始个数为2时,后手胜;
初始个数为3时,后手胜;初始个数为4,5,6,7......时,先手胜。
规律很简单,先手胜的策略就是:第一次先涂最中间的2个或3个(偶数或奇数时),这样就能把白方格等分成2部分,后手怎么涂先手就怎么涂。
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 5 using namespace std; 6 7 int T,n; 8 9 int main() 10 { 11 scanf("%d",&T); 12 for(int i=1;i<=T;i++) 13 { 14 scanf("%d",&n); 15 if((n==2)||(n==3)) 16 { 17 printf("second\n"); 18 } 19 else 20 { 21 printf("first\n"); 22 } 23 } 24 return 0; 25 }
Gym 101350E Competitive Seagulls
标签:ring else 现在 none middle return family cst bcd
原文地址:https://www.cnblogs.com/LiqgNonqfu/p/9795301.html