首先这道题样例很多,先一个一个看
我们发现k为奇数是必为winter,其实可以证明
k为奇数时,k=a+(a+1)意味着可以直接实现winter士兵+1,summer士兵-1
k为偶数时,显然当m也为偶数时,必为winter
证:k=(a-1)+(a+1) 这就相当于winter士兵+2,summer士兵-2,因为m为偶数,所以成立
注意样例几个特判,数据在管理里的文件一栏
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
long long n,m,k;
int main()
{int T,l,year;
cin>>year;
cin>>T;
for (l=;l<=T;l++)
{
scanf("%lld%lld%lld",&n,&m,&k);
if (m==)
{printf("Case %d: Winter\n",l);}
else if (m%k==)
{printf("Case %d: Winter\n",l);}
else if (n+m<=k&&m)
{printf("Case %d: Summer\n",l);}
else if (m%==&&k%==)
{printf("Case %d: Summer\n",l);}
else if (m%==&&k%==)
{printf("Case %d: Winter\n",l);}
else if (k%==)
{printf("Case %d: Winter\n",l);}
}
}