1 solutions

  • 1
    @ 2021-12-4 12:02:04

    题解

    就稍稍说一下,因为题目中说了首尾是可以算作相连的,那么这里假设一个n为5,可以看成一个环,3拿走了,2和4是不能算连续的。

    可以这样想:

    1. 当 k = 1 直接判断n的奇偶性就可以得出答案

    2. 当 k ≥ n 时,先手可以直接拿走

    3. 当 k < n 时,先手拿走一些后,橘子变成一条链,后手在中间取1个或2个,就可以把链拆成两个相等的部分,那么之后先手不论怎么取,后手只要在另一半取一样的即可,那么最后取完硬币的一定是后手。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	std::ios::sync_with_stdio(false);
    	int t,sum1=0,sum2=0;
    	scanf("%d",&t);
    	while(t--){
    		int n,k;
    		scanf("%d%d",&n,&k);
    		 if(k==1){
                if(n&1) sum1++;
                else sum2++;
            }
            else {
            	if(k>=n) sum1++;
           	 else  sum2++;
    		}		
    	}
    	if(sum1>sum2) cout<<"压压必胜!"<<endl;
    	else if(sum1<sum2) cout<<"仙仙必胜!"<<endl;
    	else cout<<"你们不要再抢了啦!"<<endl;
    	return 0;
    }
    就酱紫,朋友们加油!

    Information

    ID
    198
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    9
    Tags
    # Submissions
    97
    Accepted
    11
    Uploaded By