HDU 2133 What day is it
2012-08-17 12:39
543 查看
What day is it
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2274 Accepted Submission(s): 667
[align=left]Problem Description[/align]
Today is Saturday, 17th Nov,2007. Now, if i tell you a date, can you tell me what day it is ?
[align=left]Input[/align]
There are multiply cases.
One line is one case.
There are three integers, year(0<year<10000), month(0<=month<13), day(0<=day<32).
[align=left]Output[/align]
Output one line.
if the date is illegal, you should output "illegal". Or, you should output what day it is.
[align=left]Sample Input[/align]
2007 11 17
[align=left]Sample Output[/align]
Saturday
思路:0年1月1日是星期六。每个日期都跟它比。
AC代码:
#include<iostream> #include<string.h> #define lev(n) (n%400==0||(n%4==0&&n%100!=0)) using namespace std; int an[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}}; int illegal(int y,int m,int d) { if(m*d==0)return 1; if(d>an[lev(y)][m]) return 1; return 0; } int thisyear(int y,int m,int d) { int i,s=0; for(i=0;i<m;i++) s+=an[lev(y)][i]; return (s+d)%7; } int calc (int y,int m,int d) { int i,s=0; for(i=0;i<y;i++) s+=lev(i)?366:365; return (s+thisyear(y,m,d)+4)%7; } int main() { int y,m,d; char c[7][10]={"Monday","Tuesday","Wednesday", "Thursday","Friday","Saturday","Sunday"}; while(scanf("%d%d%d",&y,&m,&d)!=EOF) { if(illegal(y,m,d)) puts("illegal"); else puts(c[calc(y,m,d)]); } return 0; }
相关文章推荐
- HDU 2133 What day is it(给定日期求星期几)
- 杭电Hdu 2133 What day is it
- 当前日期日期hdu 2133 What day is it-java教程
- hdu 2133 What day is it
- hdu 2133 what day it is?
- HDU:2133 What day is it
- HDU 2133 What day is it(日期转换)
- HDU 2133 What day is it
- hdu 2133 What day is it(蔡勒公式)
- HDU 2133 What day is it
- HDU 2133 What day is it
- HDU 2133 - What day is it
- HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)
- hdu 2133 What day is it
- hdu 2133 What day is it
- HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)
- hdu 1308 What Day Is It? (算星期几)
- HDOJ 2133 What day is it
- HDU 1308 What Day Is It?(模拟题)
- hdu 1308 What Day Is It?