思路:
还是渣渣~省赛WA了两次,写着写着思路就乱了~~~
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int t,y,m,d,w,n;
int s[13]={0, 31,28,31,30,31, 30,31,31,30,31, 30,31};
bool jude(int y){
if(y%400==0||y%4==0&&y%100!=0)return true;
return false;
}
int main()
{
scanf("%d",&t);
while(t--){
scanf("%4d%2d%2d%d%d",&y,&m,&d,&w,&n);
int flag=n;
while(n>0){
if(jude(y))s[2]=29;
else s[2]=28;
for(;d<=s[m];d++){
if(!n)break;
n--;
}
if(d==s[m]+1){
d=1;m++;
if(m==13){y++;m=1;}
}
}
printf("%d%02d%02d %d\n",y,m,d,(w+flag-1)%7+1);
}
return 0;
}