box
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7091 Accepted Submission(s): 1419
Problem Description
One day, winnie received a box and a letter. In the letter, there are three integers and five operations(+,-,*,/,%). If one of the three integers can be calculated by the other two integers using any operations only once.. He can open that mysterious box. Or that box will never be open.
Input
The input contains several test cases.Each test case consists of three non-negative integers.
Output
If winnie can open that box.print "oh,lucky!".else print "what a pity!"
Sample Input
1 2 3
Sample Output
oh,lucky!
Author
kiki
Source
Recommend
水题
注意:
1、__int64()数据;
2、除和取余时考虑一下0;
3、除时注意转换类型,(double)/(double)
#include<stdio.h>
int main()
{
int i,j,k,p;
__int64 a[3];
while(scanf("%I64d%I64d%I64d",&a[0],&a[1],&a[2])!=EOF)
{
p=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
for(k=0;k<3;k++)
{
if(i!=j&&i!=k&&j!=k)
{
if(a[i]+a[j]==a[k]){ p=1;goto loop;}
if(a[i]-a[j]==a[k]){ p=1;goto loop;}
if(a[i]*a[j]==a[k]){ p=1;goto loop;}
if(a[j]!=0)
{
if(a[i]%a[j]==a[k]){ p=1;goto loop;}
if((double)a[i]/(double)a[j]==(double)a[k]){ p=1;goto loop;}
}
}
}
loop:
if(p) printf("oh,lucky!\n");
else printf("what a pity!\n");
}
return 0;
}