1 条题解
-
0
C :
#include<stdio.h> int leap(int y) { return y%4==0&&y%100!=0||y%400==0?1:0; } int main() { int t,y,m,d,i,s; scanf("%d",&t); while(t--) { scanf("%d-%d-%d",&y,&m,&d); s=6570; if(m==2&&d==29) { if(!leap(y+18)) printf("-1\n"); else { for(i=y+1;i<=y+18;i++) if(!leap(i)) s--; printf("%d\n",s); } } else { if(m<=2) { for(i=y;i<y+18;i++) if(leap(i)) s++; } else for(i=y+1;i<=y+18;i++) if(leap(i)) s++; printf("%d\n",s); } } return 0; }
C++ :
#include<stdio.h> int leap(int y) { return y%4==0&&y%100!=0||y%400==0?1:0; } int main() { int t,y,m,d,i,s; scanf("%d",&t); while(t--) { scanf("%d-%d-%d",&y,&m,&d); s=6570; if(m==2&&d==29) { if(!leap(y+18)) printf("-1\n"); else { for(i=y+1;i<=y+18;i++) if(!leap(i)) s--; printf("%d\n",s); } } else { if(m<=2) { for(i=y;i<y+18;i++) if(leap(i)) s++; } else for(i=y+1;i<=y+18;i++) if(leap(i)) s++; printf("%d\n",s); } } return 0; }
Java :
public class Main { public static void main(String[] args) { java.util.Scanner in = new java.util.Scanner(System.in); while (in.hasNext()) { int N=in.nextInt(); for(int i=0;i<N;i++) { String [] a=in.next().split("-"); int b=Integer.parseInt(a[0]); int c=Integer.parseInt(a[1]); int d=Integer.parseInt(a[2]); int sum=0; if(c==2&&d==29) if((b%4==0&&b%100!=0)||b%400==0) { System.out.println(-1);continue;} for(int n=b;n<=b+17;n++) { if((n%4==0&&n%100!=0)||n%400==0) { sum=sum+366; } else sum=sum+365; } int n=b;int x=0; for(int j=1;j<c;j++) { if(j==1||j==3||j==5||j==7||j==8||j==10||j==12) { x=x+31; } if(j==4||j==6||j==9||j==11) { x=x+30; } if(j==2) { if((n%4==0&&n%100!=0)||n%400==0){ x=x+29; } else x=x+28; } } x=x+d; sum=sum-x; int f=b+18; for(int j=1;j<c;j++) { if(j==1||j==3||j==5||j==7||j==8||j==10||j==12) { sum=sum+31; } if(j==4||j==6||j==9||j==11) { sum=sum+30; } if(j==2) { if((f%4==0&&f%100!=0)||f%400==0){ sum =sum+29; } else sum=sum+28; } } sum=sum+d; System.out.println(sum); } } in.close(); } }
- 1
信息
- ID
- 1443
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者