CODE[VS] 2692 小明過生日
阿新 • • 發佈:2018-06-10
opened 輸入 stream 就是 iostream 小明 TP put AD
題目描述 Description
今天是小明的生日,請問下一個生日在什麽時候.格式:年 月 日。
輸入描述 Input Description
小明的生日
輸出描述 Output Description下一個小明的生日
樣例輸入 Sample Input
2013 2 13
樣例輸出 Sample Output2014 2 13
數據範圍及提示 Data Size & Hint
int範圍,灰常陰險滴~~
我感覺不是int範圍陰險。
是題目陰險。
像這種一看就會,看起來非常簡單的題目最坑。
這個題就是要註意考慮到閏年的問題。
下面是一份zz的代碼。
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring> 6 using namespace std; 7 8 int a,b,c; 9 10 int main() 11 { 12 scanf("%d%d%d考慮是考慮到了,但是考慮得有些問題啊。。",&a,&b,&c); 13 if(b!=2||(b==2&&c!=28&&c!=29)) 14 { 15 printf("%d %d %d",a+1,b,c); 16 return 0; 17 } 18 else if(c==29) 19 { 20 printf("%d 2 28",a+1); 21 return 0; 22 } 23 else 24 { 25 if(((a+1)%4==0&&(a+1)%100!=0)||(a+1)%400==0) 26 { 27 printf("%d 2 29",a+1); 28 } 29 else printf("%d 2 28",a+1); 30 return 0; 31 } 32 return 0; 33 }
33分zz,,無語。
下面看ac代碼,
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring> 6 using namespace std; 7 8 int a,b,c; 9 10 int main() 11 { 12 scanf("%d%d%d",&a,&b,&c); 13 if(b!=2||(b==2&&c!=28&&c!=29)) 14 { 15 printf("%d %d %d",a+1,b,c); 16 return 0; 17 } 18 else if(c==29) 19 { 20 if((a+4)%100==0) printf("%d 2 29",a+8); //就這兒, 21 else printf("%d 2 29",a+4); 22 return 0; 23 } 24 else 25 { 26 if(((a+1)%4==0&&(a+1)%100!=0)||(a+1)%400==0) 27 { 28 printf("%d 2 29",a+1); 29 } 30 else printf("%d 2 28",a+1); 31 return 0; 32 } 33 return 0; 34 }就變了一點點,應該能理解
CODE[VS] 2692 小明過生日