CF1858A 题解

· · 题解

传送门

分析

因为无法取球输,所以双方都会先取c中公共部分

当c中球为偶数时,双方各从c中取(c/2)个球,然后取自己的部分

先手可取:(a+c/2)个球

后手可取:(b+c/2)个球

当c中球为奇数时,先手从c中取(c/2+1)个球,后手从c中取(c/2)个球,然后取自己的部分

先手可取:(a+c/2+1)个球

后手可取:(b+c/2)个球

最后比较即可

Ac代码

#include<bits/stdc++.h>
using namespace std;
long long n,a,b,c;
int Main()
{
    cin>>n;//输入n
    for(int i=1;i<=n;i++)
    {
        cin>>a>>b>>c;//输入每次的a,b,c
        if(c%2==1)//判断并输出
        {
            if(c/2+a+1>b+c/2)  cout<<"First"<<endl;
          else if(c/2+a+1<=b+c/2)  cout<<"Second"<<endl;
        } 
        else
        {
            if(a>b)  cout<<"First"<<endl;//如果a==b,最后双方都没球,但此时该先手取
            else if(a+c/2<=b+c/2)  cout<<"Second"<<endl;  
        }


    }
    return 0;
}