129 条题解
- 
  0何子睿 LV 6 @ 2009-09-14 19:20:02 var x,y,n,s:longint; 
 begin
 read(x,y,n);
 s:=10000;
 repeat
 n:=n+1;s:=s-1;
 if (n=30)and(y=2)and(x mod 4=0)then begin n:=1;y:=y+1;end;
 if (n=29)and(y=2)and(x mod 40)then begin n:=1;y:=y+1;end;
 if (n=32)and((y=1)or(y=3)or(y=5)or(y=7)or(y=8)or(y=10)or(y=12))
 then begin n:=1;y:=y+1;end;
 if (n=31)and((y=4)or(y=6)or(y=9)or(y=11))then begin n:=1;y:=y+1;end;
 if y=13 then begin y:=1;x:=x+1;end;
 until s=0;
 write(x,'-',y,'-',n);
 end.
 百分之百的通过
- 
  0@ 2009-09-05 15:01:13var 
 y,m,d,i:longint;
 flag:boolean;
 begin
 readln(y,m,d);
 for i:=1 to 10000 do
 begin
 flag:=false;
 if (y mod 100 = 0) and (y mod 400=0) then flag:=true;
 if (y mod 100 0) and (y mod 4 =0) then flag:=true;
 inc(d);
 if (d=32) and (m=12) then begin inc(y); m:=1; d:=1; continue; end;
 if flag and (m=2) and (d=30) then begin inc(m); d:=1; continue; end;
 if not(flag) and (m=2) and (d=29) then begin inc(m); d:=1; continue; end;
 if (m in [1,3,5,7,8,10]) and (d=32) then begin inc(m); d:=1; continue; end;
 if (m in [4,6,9,11]) and (d=31) then begin inc(m); d:=1; continue; end;
 end;
 writeln(y,'-',m,'-',d);
 end.
- 
  0@ 2009-08-25 16:01:35var 
 y,m,d,t:integer;
 function day(k:integer):integer;
 var days:integer;
 begin
 case m of
 1,3,5,7,8,10,12:days:=31;
 4,6,9,11:days:=30;
 2:if ((y mod 4=0) and (y mod 1000)) or ((y mod 100=0) and (y mod 400=0))
 then days:=29
 else days:=28;
 end;
 day:=days;
 end;
 begin
 assign(input,'1.in');
 assign(output,'1.out');
 reset(input);
 rewrite(output);
 readln(y,m,d);
 t:=10000;
 repeat
 t:=t-1;
 d:=d+1;
 if d>day(m) then begin d:=1;inc(m);end;
 if m>12 then begin m:=1;inc(y);end;
 until
 t=0;
 writeln(y,'-',m,'-',d);
 close(input);
 close(output);
 end.
- 
  0@ 2009-08-20 17:22:53const 
 a:array[1..12] of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
 var
 y,m,d:longint;
 function check:longint;
 begin
 check:=0;
 if (((y mod 4=0) and (y mod 1000)) or (y mod 400=0)) and (m=2) then
 check:=1;
 end;
 begin
 readln(y,m,d);
 d:=10000+d;
 while d>a[m]+check do
 begin
 d:=d-a[m]-check;
 inc(m);
 if m=13 then
 begin
 m:=1;
 inc(y);
 end;
 end;
 writeln(y,'-',m,'-',d);
 end.25行搞定 抄我的吧 
- 
  0@ 2009-08-18 19:51:34var 
 y,m,d,s,i:integer; run:boolean;
 begin
 read(y,m,d);
 y:=y+24; s:=10000-(365*4+1)*6;
 for i:=1 to s do
 begin
 inc(d);
 if((y mod 4=0)and(y mod 1000))or(y mod 400=0)then
 run:=true else run:=false;
 if d>28 then
 case m of
 2:if((d=29)and(not run))or((d=30)and(run)) then
 begin inc(m); d:=1; end;
 1,3,5,7,8,10:if d=32 then begin inc(m); d:=1; end;
 4,6,9,11:if d=31 then begin inc(m); d:=1; end;
 12:if d=32 then begin inc(y);m:=1; d:=1; end;
 end;
 end;
 write(y,'-',m,'-',d);
 end.
- 
  0@ 2009-08-15 18:24:11├ 测试数据 01:答案正确... 0ms 
 ├ 测试数据 02:答案正确... 0ms
 ├ 测试数据 03:答案正确... 0ms
 ├ 测试数据 04:答案正确... 0ms
 ├ 测试数据 05:答案正确... 0ms
 ├ 测试数据 06:答案正确... 0ms
 ├ 测试数据 07:答案正确... 0ms
 ├ 测试数据 08:答案正确... 0ms
 ├ 测试数据 09:答案正确... 0ms
 ├ 测试数据 10:答案正确... 0ms
 ---|---|---|---|---|---|---|---|-
 Accepted 有效得分:100 有效耗时:0msvar 
 y,m,d,s,i:integer; run:boolean;
 begin
 read(y,m,d);
 y:=y+24; s:=10000-(365*4+1)*6;
 for i:=1 to s do
 begin
 inc(d);
 if((y mod 4=0)and(y mod 1000))or(y mod 400=0)then
 run:=true else run:=false;
 if d>28 then
 case m of
 2:if((d=29)and(not run))or((d=30)and(run)) then
 begin inc(m); d:=1; end;
 1,3,5,7,8,10:if d=32 then begin inc(m); d:=1; end;
 4,6,9,11:if d=31 then begin inc(m); d:=1; end;
 12:if d=32 then begin inc(y);m:=1; d:=1; end;
 end;
 end;
 write(y,'-',m,'-',d);
 end.
 ps:秒杀,太简单了
- 
  0@ 2009-08-15 12:26:15耶~ 
 终于俩星了……
 哈哈哈哈哈~
- 
  0@ 2009-08-08 07:48:33题目出的水 不用考虑判断闰年的更复杂的情况 
 var
 max:array[1..12] of integer;
 y,m,d,i:longint;
 begin
 readln(y,m,d);
 max[1]:=31; max[3]:=31; max[5]:=31; max[7]:=31; max[8]:=31; max[10]:=31; max[12]:=31;
 max[4]:=30; max[6]:=30; max[9]:=30; max[11]:=30;
 while imax[m] then
 begin
 dec(d,max[m]);
 inc(m);
 end;
 if m>12 then
 begin
 dec(m,12);
 inc(y);
 end;
 end;
 writeln(y,'-',m,'-',d);
 end.
- 
  0@ 2009-08-03 20:59:34绝对水题。。。。。。。 
 Accepted 有效得分:100 有效耗时:0ms
 一次AC。。。。。。。。。。。
- 
  0@ 2009-07-30 14:30:29编译通过... 
 ├ 测试数据 01:答案正确... 0ms
 ├ 测试数据 02:答案正确... 0ms
 ├ 测试数据 03:答案正确... 0ms
 ├ 测试数据 04:答案正确... 0ms
 ├ 测试数据 05:答案正确... 0ms
 ├ 测试数据 06:答案正确... 0ms
 ├ 测试数据 07:答案正确... 0ms
 ├ 测试数据 08:答案正确... 0ms
 ├ 测试数据 09:答案正确... 0ms
 ├ 测试数据 10:答案正确... 0ms
 ---|---|---|---|---|---|---|---|-
 Accepted 有效得分:100 有效耗时:0msconst 
 n:array[1..12] of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
 var
 y,m,d:integer;function check:integer; 
 begin
 if (y mod 4 = 0)and(m=2) then exit(1); exit(0);
 end;begin 
 readln(y,m,d);
 inc(d,10000);
 while d>n[m]+check do
 begin
 dec(d,n[m]+check); inc(m);
 if m=13 then begin m:=1; inc(y); end;
 end;
 writeln(y,'-',m,'-',d);
 end.绝对最短、、!!!!! 下面几楼写那么长的程序也敢说水题??? 有大牛写更短的吗? 
- 
  0@ 2009-07-28 14:17:09编译通过... 
 ├ 测试数据 01:答案正确... 0ms
 ├ 测试数据 02:答案正确... 0ms
 ├ 测试数据 03:答案正确... 0ms
 ├ 测试数据 04:答案正确... 0ms
 ├ 测试数据 05:答案正确... 0ms
 ├ 测试数据 06:答案正确... 0ms
 ├ 测试数据 07:答案正确... 0ms
 ├ 测试数据 08:答案正确... 0ms
 ├ 测试数据 09:答案正确... 0ms
 ├ 测试数据 10:答案正确... 0ms
 ---|---|---|---|---|---|---|---|-
 Accepted 有效得分:100 有效耗时:0ms庆祝本人在VijosAC第50题! 
- 
  0@ 2009-07-28 14:13:15一次AC啊 编译通过... 
 ├ 测试数据 01:答案正确... 0ms
 ├ 测试数据 02:答案正确... 0ms
 ├ 测试数据 03:答案正确... 0ms
 ├ 测试数据 04:答案正确... 0ms
 ├ 测试数据 05:答案正确... 0ms
 ├ 测试数据 06:答案正确... 0ms
 ├ 测试数据 07:答案正确... 0ms
 ├ 测试数据 08:答案正确... 0ms
 ├ 测试数据 09:答案正确... 0ms
 ├ 测试数据 10:答案正确... 0ms
 ---|---|---|---|---|---|---|---|-
 Accepted 有效得分:100 有效耗时:0msvar y,m,d:integer; function days(y,m:integer):integer; 
 begin
 case m of
 1,3,5,7,8,10,12:exit(31);
 4,6,9,11:exit(30);
 2:
 if ((y mod 4=0)and(y mod 1000))or(y mod 400=0) then exit(29)
 else exit(28);
 end;
 end;begin 
 read(y,m,d);
 d:=d+10000;
 while d>days(y,m) do
 begin
 d:=d-days(y,m);
 m:=m+1;
 if m>12 then
 begin
 m:=m-12;
 y:=y+1;
 end;
 end;
 write(y,'-',m,'-',d);
 end.
- 
  0@ 2009-07-26 00:47:40水题啊~ 
 庆祝一下,难得一次AC
 ^_^#include 
 using namespace std;int year,month,day; void init () 
 {
 cin>>year>>month>>day;
 }int data; 
 int t[3][13];void make () 
 {
 t[1][1]=31;
 t[1][2]=28;
 t[1][3]=31;
 t[1][4]=30;
 t[1][5]=31;
 t[1][6]=30;
 t[1][7]=31;
 t[1][8]=31;
 t[1][9]=30;
 t[1][10]=31;
 t[1][11]=30;
 t[1][12]=31;
 t[2][1]=31;
 t[2][2]=29;
 t[2][3]=31;
 t[2][4]=30;
 t[2][5]=31;
 t[2][6]=30;
 t[2][7]=31;
 t[2][8]=31;
 t[2][9]=30;
 t[2][10]=31;
 t[2][11]=30;
 t[2][12]=31;
 }int pd () 
 {
 if (year%4==0) return 2;
 else return 1;
 }void work () 
 {
 int i,k;
 make ();
 k=pd ();
 while (1)
 {
 day++;
 if (t[k][month]==day-1)
 {
 day=1;
 month++;
 }
 if (month==13)
 {
 year++;
 month=1;
 k=pd ();
 }
 data++;
 if (data==10000) break;
 }
 }void output () 
 {
 cout
- 
  0@ 2009-07-23 15:34:42program dsa; 
 var n,y,r,i:integer;
 begin
 read(n,y,r);
 for i:=1 to 10000 do
 begin
 if ((y=1)or(y=3)or(y=5)or(y=7)or(y=8)or(y=10))and(r=31)then begin inc(y);r:=1;end
 else if (y=12) and (r=31) then begin inc(n);y:=1;r:=1;end
 else if ((y=4)or(y=6)or(y=9)or(y=11))and(r=30)then begin inc(y);r:=1;end
 else if (y=2)and(n mod 40)and(r=28) then begin inc(y);r:=1;end
 else if (y=2)and((n mod 400=0)or((n mod 1000)and(n mod 4=0)))and(r=29)then begin inc(y);r:=1;end
 else inc(r);
 end;
 write(n,'-',y,'-',r);
 end.农夫山泉 
- 
  0@ 2009-06-14 09:50:34编译通过... 
 ├ 测试数据 01:答案正确... 0ms
 ├ 测试数据 02:答案正确... 0ms
 ├ 测试数据 03:答案正确... 0ms
 ├ 测试数据 04:答案正确... 0ms
 ├ 测试数据 05:答案正确... 0ms
 ├ 测试数据 06:答案正确... 0ms
 ├ 测试数据 07:答案正确... 0ms
 ├ 测试数据 08:答案正确... 0ms
 ├ 测试数据 09:答案正确... 0ms
 ├ 测试数据 10:答案正确... 0ms
 ---|---|---|---|---|---|---|---|-
 Accepted 有效得分:100 有效耗时:0ms#include 
 int year(int n)
 {
 if( n%400==0 || (n%100!=0&&n%4==0) )
 return 1;
 return 0;
 }
 int main()
 {
 int yy,mm,dd,i;
 int m[][13]={ {-1,31,28,31,30,31,30,31,31,30,31,30,31},
 {-1,31,29,31,30,31,30,31,31,30,31,30,31} };
 scanf("%d%d%d",&yy,&mm,&dd);
 for(i=0;im[year(yy)][mm])
 {
 mm++; dd=1;
 }
 if(mm>12)
 {
 yy++; mm=1; dd=1;
 }
 }
 printf("%d-%d-%d\n",yy,mm,dd);
 getchar();
 getchar();
 return 0;
 }
 /*一开始忘了数组下标从0开始了
 提交了几次都没AC,郁闷*/
- 
  0@ 2009-06-07 16:07:35program p1211; 
 var
 yy,mm,dd:int64;
 i:integer;
 procedure rijinyue;
 begin
 dd:=1;
 inc(mm);
 end;
 procedure yuejinnian;
 begin
 mm:=1;
 dd:=1;
 inc(yy);
 end;
 begin
 read(yy,mm,dd);
 for i:=1 to 10000 do
 begin
 inc(dd);
 begin
 if (mm=1)and(dd=32)
 then rijinyue;
 if (mm=3)and(dd=32)
 then rijinyue;
 if (mm=5)and(dd=32)
 then rijinyue;
 if (mm=7)and(dd=32)
 then rijinyue;
 if (mm=8)and(dd=32)
 then rijinyue;
 if (mm=10)and(dd=32)
 then rijinyue;
 if (mm=12)and(dd=32)
 then rijinyue;
 if (mm=4)and(dd=31)
 then rijinyue;
 if (mm=6)and(dd=31)
 then rijinyue;
 if (mm=9)and(dd=31)
 then rijinyue;
 if (mm=11)and(dd=31)
 then rijinyue;
 if ((yy mod 1000)and(yy mod 4=0))or(yy mod 400=0)
 then begin
 if(mm=2)and(dd=30)
 then rijinyue
 end
 else
 if (mm=2)and(dd=29)
 then rijinyue;
 end;
 begin
 if mm=13
 then yuejinnian;
 end;
 end;
 write(yy,'-',mm,'-',dd);
 end.
- 
  0@ 2009-06-02 19:09:51洪水泛滥啊! 
- 
  0@ 2009-05-30 12:38:58program temp; 
 var
 yy,mm,dd,i:integer;
 procedure im;
 begin
 dd:=1;
 inc(mm);
 end;
 procedure iy;
 begin
 mm:=1;
 dd:=1;
 inc(yy);
 end;
 begin
 readln(yy,mm,dd);
 for i:=1 to 10000 do
 if dd
- 
  0@ 2009-05-24 12:14:25编译通过... 
 ├ 测试数据 01:答案正确... 0ms
 ├ 测试数据 02:答案正确... 0ms
 ├ 测试数据 03:答案正确... 0ms
 ├ 测试数据 04:答案正确... 0ms
 ├ 测试数据 05:答案正确... 0ms
 ├ 测试数据 06:答案正确... 0ms
 ├ 测试数据 07:答案正确... 0ms
 ├ 测试数据 08:答案正确... 0ms
 ├ 测试数据 09:答案正确... 0ms
 ├ 测试数据 10:答案正确... 0ms
 ---|---|---|---|---|---|---|---|-
 Accepted 有效得分:100 有效耗时:0ms
 模拟的方法,不过我一开始不小心把判断闰年的数忘了变成FALSE了,结果花了好久才ac,~~~~(>_
- 
  0@ 2009-05-19 18:32:30#include 
 using namespace std;
 int yy,mm,dd;
 int day=10000;;
 int da[3][13]=
 {
 {0,0,0, 0,0,0 ,0,0,0 ,0,0,0,0},
 {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 judge(int year)
 {
 if(year%100==0)
 { if(year%400==0)return 1;
 else return 0;}
 else
 {if(year%4==0)return 1;
 else return 0;
 }
 }
 bool gtr=false;
 int main()
 {
 cin>>yy>>mm>>dd;
 int Y=yy,M=mm,D=dd;
 day+=D;
 for(int i=yy;;i++)
 { int k=1;
 if(judge(i))k=2;
 for(int j=M;j