嗯...卡了好长时间 稍微难一点的简单题都快写不来了 还好最后绕出来了 两次才AC 继续努力
#include <stdio.h>
#include <string.h>
#include <math.h>
#define MAX 100
int main()
{
int T,y1,y2,m1,m2,d1,d2,m,day;
char p[MAX];
scanf("%d",&T);
while (T--)
{
scanf("%d%d%d%*c%s",&y1,&m1,&d1,p);
scanf("%d%d%d",&y2,&m2,&d2);
if (p[0]=='M')
m=1;
else if (p[0]=='T' && p[1]=='u')
m=2;
else if (p[0]=='W')
m=3;
else if (p[0]=='T' && p[1]=='h')
m=4;
else if (p[0]=='F')
m=5;
if (y1<=y2)
day=day+d2+(m2-1)*30+(360-d1-(m1-1)*30);
else
day=day+(360-d2-(m2-1)*30)+d1+(m1-1)*30;
if (y1<y2 || (y1==y2 && (m1<m2 || (m1==m2 && d1<=d2))))
day = 360-d1-(m1-1)*30+(m2-1)*30+d2;
else
{
if (y1==y2)
day = (m1-1)*30+d1-((m2-1)*30+d2);
else
day = abs(5-(360-d2-(m2-1)*30+(m1-1)*30+d1)%5);
}
switch ((day+m)%5)
{
case 0:printf("Friday\n");break;
case 1:printf("Monday\n");break;
case 2:printf("Tuesday\n");break;
case 3:printf("Wednesday\n");break;
case 4:printf("Thursday\n");break;
}
}
return 0;
}