A - Calandar
Posted csgobestgameever
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了A - Calandar相关的知识,希望对你有一定的参考价值。
Time Limit : 1 Second Memory Limit : 65536 KB
Source : 第十届山东省ACM省赛
Problem Link : http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4113
Author : Houge Date : 2019-5-18
题目大意:
有一个神奇的星球,在那里,一年有12个月,每月都有30天。并且在那个星球上一周只有五天。给你今天的日期和星期,问你一个目标日期是星期几。
分析:
签到题之一,仔细思考便容易发现所要求的日期是星期几和月份根本没有关系(一周五天,每个月都是30天,一个月正好是6次循环),和年份就更没有关系了。只要求出两个日的关系,再输出对应的星期即可。
代码:
1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 int main() 6 { 7 int t; 8 scanf("%d",&t); 9 while(t--) 10 { 11 int crrday,disday,temp; 12 string cday; 13 scanf("%*d%*d%d",&crrday); cin>>cday; 14 scanf("%*d%*d%d",&disday); 15 16 if(cday=="Monday") temp=0; 17 if(cday=="Tuesday") temp=1; 18 if(cday=="Wednesday") temp=2; 19 if(cday=="Thursday") temp=3; 20 if(cday=="Friday") temp=4; 21 22 if(crrday<=disday) temp=(temp+(disday-crrday)%5)%5; 23 else temp=(temp+5-(crrday-disday)%5)%5; 24 //cout<<"Test temp : "<<temp<<endl; 25 if(temp==0) printf("Monday\n"); 26 if(temp==1) printf("Tuesday\n"); 27 if(temp==2) printf("Wednesday\n"); 28 if(temp==3) printf("Thursday\n"); 29 if(temp==4) printf("Friday\n"); 30 } 31 return 0; 32 }
以上是关于A - Calandar的主要内容,如果未能解决你的问题,请参考以下文章