box
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7848 Accepted Submission(s): 1627
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!注意浮点型不能余就行了 到除后 特殊处理#include<cstdio> #include<iostream> using namespace std; int main() { long long a,b,c; int flag; while(scanf("%lld%lld%lld",&a,&b,&c)!=EOF) { flag=0; if(a+b==c||a+c==b||b+c==a||a*b==c||a*c==b||b*c==a) flag=1; else if((a&&(b%a==c||c%a==b))||(b&&(a%b==c||c%b==a))||(c&&(a%c==b||b%c==a))) flag=1; else if(a-b==c||b-a==c||a-c==b||c-a==b||c-b==a||b-c==a) flag=1; else { double a1=a,b1=b,c1=c; if((a1&&(b1/a1==c1||c1/a1==b1))||(b1&&(a1/b1==c1||c1/b1==a1))||(c1&&(a1/c1==b1||b1/c1==a1))) flag=1; } if(flag) puts("oh,lucky!"); else puts("what a pity!"); } return 0; }