简单。
/* 简单题 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<math.h> using namespace std; typedef long long ll; //typedef __int64 int64; const int maxn = 105; const int inf = 0x7fffffff; const double pi=acos(-1.0); const double eps = 1e-8; int gcd( int a,int b ){ int r; while( b ){ r = a%b; a = b; b = r; } return a; } int lcm( int a,int b,int Gcd ){ return a*b/Gcd; } int JudgeYear( int y ){ if( (y%400==0)||(y%4==0&&y%100!=0) ) return true; else return false; } int JudgeMonth( int m ){ if( m==1||m==3||m==5||m==7||m==8||m==10||m==12 ) return true; else return false; } int main(){ int T; scanf("%d",&T); int Case = 1; while( T-- ){ printf("Case #%d: ",Case++); int a,b,y; scanf("%d%d%d",&a,&b,&y); int ans = 0; int m,d; int ans1,ans2; for( m=1;m<=12;m++ ){ for( int d=1;d<=31;d++ ){ if( m==2&&JudgeYear( y )==true&&d>=30 ) break;//闰年29days if( m==2&&JudgeYear( y )==false&&d>=29 ) break;//平年28days if( JudgeMonth(m)==false&&d>=31 ) break; if( gcd( m,d )==a&&lcm( m,d,a )==b ){ ans++; ans1 = m; ans2 = d; } } } if( ans>1 ) printf("1 "); else if( ans<1 ) printf("-1 "); else printf("%d/%02d/%02d ",y,ans1,ans2); } return 0; }