HDU 4551 生日猜猜猜
2013-05-27 18:27
309 查看
http://acm.hdu.edu.cn/showproblem.php?pid=4551
Problem Description
小明对生日十分看重,因为他可以得到祝福,可以和朋友亲人一起分享快乐,可以为自己的人生做一次总结,并且...能够收到好多礼物!
不过小明是个神秘的人,不会轻易告诉你他的生日,现在他想到一个办法,让你去猜他的生日是哪一天。
小明会告诉你如下三个信息:
1. 出生月份和出生日子的最大公约数;
2. 出生月份和出生日子的最小公倍数;
3. 出生年份;
现在要求你猜出小明的生日。
Input
第一行输入一个正整数T,表示总共有T组册数数据(T <= 200);
对于每组数据依次输入三个数x,y,z,
x表示出生月份和出生日子的最大公约数(1<= x <=1000);
y表示出生月份和出生日子的最小公倍数(1<= y <=1000);
z表示出生年份(1900 <= z <= 2013)。
每组输入数据占一行。
Output
对于每组数据,先输出Case数。
如果答案不存在 ,输出“-1”;
如果答案存在但不唯一 ,输出“1”;
如果答案唯一,输出生日,日期格式为YYYY/MM/DD;
每组输出占一行,具体输出格式参见样例。
Sample Input
3
12 24 1992
3 70 1999
9 18 1999
Sample Output
Case #1: 1992/12/24
Case #2: -1
Case #3: 1999/09/18
生日猜猜猜
Problem Description小明对生日十分看重,因为他可以得到祝福,可以和朋友亲人一起分享快乐,可以为自己的人生做一次总结,并且...能够收到好多礼物!
不过小明是个神秘的人,不会轻易告诉你他的生日,现在他想到一个办法,让你去猜他的生日是哪一天。
小明会告诉你如下三个信息:
1. 出生月份和出生日子的最大公约数;
2. 出生月份和出生日子的最小公倍数;
3. 出生年份;
现在要求你猜出小明的生日。
Input
第一行输入一个正整数T,表示总共有T组册数数据(T <= 200);
对于每组数据依次输入三个数x,y,z,
x表示出生月份和出生日子的最大公约数(1<= x <=1000);
y表示出生月份和出生日子的最小公倍数(1<= y <=1000);
z表示出生年份(1900 <= z <= 2013)。
每组输入数据占一行。
Output
对于每组数据,先输出Case数。
如果答案不存在 ,输出“-1”;
如果答案存在但不唯一 ,输出“1”;
如果答案唯一,输出生日,日期格式为YYYY/MM/DD;
每组输出占一行,具体输出格式参见样例。
Sample Input
3
12 24 1992
3 70 1999
9 18 1999
Sample Output
Case #1: 1992/12/24
Case #2: -1
Case #3: 1999/09/18
#include<iostream> using namespace std; int gys(int a,int b) { for(int temp;a;b=a,a=temp) temp=b%a; return b; } int gps(int a,int b) { long a0,b0; a0=a;b0=b; for(int temp;a;b=a,a=temp) temp=b%a; return a0/b*b0; } int main() { int t; cin>>t; for(int i=0;i<t;i++) { int x,y,z; int p=0; int a,b; cin>>x>>y>>z; for(int j=1;j<=12;j++) { for(int h=1;h<=31;h++) { if(p==0||p==1) { if(gys(j,h)==x&&gps(j,h)==y) { if((z%4==0&&z!=1900)&&j==2&&h>29) continue; else if((z%4!=0||z==1900)&&j==2&&h>28) continue; else if(j==4&&h==31) continue; else if(j==6&&h==31) continue; else if(j==9&&h==31) continue; a=j; b=h; p++; } } else goto tf; } } tf: cout<<"Case #"<<i+1<<": "; if(p==0) cout<<-1<<endl; else if(p==1) { cout<<z<<"/"; if(a<10) cout<<0; cout<<a<<"/"; if(b<10)cout<<0; cout<<b<<endl; } else cout<<1<<endl; } }
相关文章推荐
- hdu 4551 生日猜猜猜
- 生日猜猜猜 HDU 4551
- HDU-4551 生日猜猜猜 数学+枚举
- HDU 4551 生日猜猜猜(简单题)
- HDU 4551 生日猜猜猜【模拟】
- 2013金山西山居创意游戏程序挑战赛——初赛(3) 1001 生日猜猜猜 hdu 4551
- hdu 4551 生日猜猜猜
- HDU 4551 生日猜猜猜
- 【HDU】1201 18岁生日
- HdU 1201-18岁生日
- HDU 1201 18岁生日
- hdu 1201 18岁生日
- HDU 1201 18岁生日
- HDU 1201 18岁生日
- hdu_1201:18岁生日
- hdu-1201-18岁生日
- HDU-1201-18岁生日
- HDU 1201 18岁生日
- (hdu) 1201 18岁生日&&…
- HDU 1201 18岁生日