神在夏至祭降下了神谕(oracle)

首先这道题样例很多,先一个一个看

我们发现k为奇数是必为winter,其实可以证明

k为奇数时,k=a+(a+1)意味着可以直接实现winter士兵+1,summer士兵-1

k为偶数时,显然当m也为偶数时,必为winter

证:k=(a-1)+(a+1) 这就相当于winter士兵+2,summer士兵-2,因为m为偶数,所以成立

注意样例几个特判,数据在管理里的文件一栏

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 long long n,m,k;
 7 int main()
 8 {int T,l,year;
 9 cin>>year;
10     cin>>T;
11   for (l=1;l<=T;l++)
12   {
13     scanf("%lld%lld%lld",&n,&m,&k);
14     if (m==0)
15     {printf("Case %d: Winter\n",l);}
16     else if (m%k==0)
17     {printf("Case %d: Winter\n",l);}
18     else if (n+m<=k&&m)
19     {printf("Case %d: Summer\n",l);}
20     else if (m%2==1&&k%2==0)
21     {printf("Case %d: Summer\n",l);}
22     else if (m%2==0&&k%2==0)
23     {printf("Case %d: Winter\n",l);}
24     else if (k%2==1)
25     {printf("Case %d: Winter\n",l);}
26   }
27 }

 

posted @ 2017-08-22 15:40  Z-Y-Y-S  阅读(377)  评论(0编辑  收藏  举报