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的主要内容,如果未能解决你的问题,请参考以下文章

Java 常用类库 之 Calandar 日期处理类

如何改变Mat-Calandar的显示值?

Java 常用类库 之 SimpleDateFormat 日期格式化

VSCode自定义代码片段——CSS选择器

VSCode自定义代码片段——.vue文件的模板

Android代码片段