129 条题解
-
0梦ぁ逍遥 LV 5 @ 2006-09-18 19:24:26
for i:=1 to 10000 do
begin
case month of
1,3,5,7,8,10,12:
4,6,9,11:
2:判断;
end;
day:=day+1;---|---|---|---|---|---|
我菜鸟只能用这种了
-
02006-09-03 14:43:38@
应该还是比较简单的...
-
02006-09-02 19:44:18@
另有一个办法:
设生日为本年的第n天(1月1日为第0天),这样问题就可以变成:求出生那年1月1日之后的第10000+n天,这样就可以用年的天数来模拟,效率会高一些 -
02006-09-01 23:58:42@
闰年的计算方法:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。如2000年是闰年,而1900年不是。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~我连这都不清楚~~~寒 -
02006-09-01 21:37:13@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02006-09-01 20:17:07@
简单模拟即过
当然也可以cheat---|-RP降低了不是我的事 -
02006-09-01 20:20:05@
能被400整除的一定是闰年啊.
本人太菜,用枚举都过不了... -
02006-09-01 19:47:14@
这题是不是有问题 当年数是400倍数的时候应该不是润年啊。。
-
-12021-07-14 12:38:25@
纯模拟
#include<bits/stdc++.h> using namespace std; int daynum[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int main(){ int year,month,day; cin>>year>>month>>day; for(int i=0;i<10000;i++){ if((year%4==0&&year%100!=0)||year%400==0)daynum[2]=29; else daynum[2]=28; ++day; if(day>daynum[month]){ day=1;++month; } if(month>12){ month=1;++year; } } printf("%d-%d-%d",year,month,day); }