模拟/sgu 115 Calendar
题意
已知2001.1.1是周一 请你求出2001.m.n是周几
如果m,n不合法 输出Impossible
分析
开一个数组记录一下每个月的日子,然后模拟
通过循环加到当前的日子
mod 7 即可求出为周几
这题让我想到了usaco的那道星期五是几的题....
Accepted Code
1 /* 2 PROBLEM:sgu 115 3 AUTHER:Rinyo 4 MEMO:模拟 5 */ 6 7 #include<cstdio> 8 const int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; 9 int main() 10 { 11 int n,m; 12 scanf("%d%d",&n,&m); 13 if (n>month[m]) printf("Impossible"); 14 else 15 { 16 int now=n; 17 for (int i=1;i<m;i++) now+=month[i]; 18 printf("%d\n",(now-1)%7+1); 19 } 20 return 0; 21 }