HDU4551

简单。

 

/*

简单题

*/

#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\n");

		else if( ans<1 ) printf("-1\n");

		else printf("%d/%02d/%02d\n",y,ans1,ans2);

	}

	return 0;

}


 


你可能感兴趣的:(HDU)