标签:const spec traints his pre any mat amp rom
Problem Statement
Takahashi, Aoki and Snuke love cookies. They have A, B and C cookies, respectively. Now, they will exchange those cookies by repeating the action below:
This action will be repeated until there is a person with odd number of cookies in hand.
How many times will they repeat this action? Note that the answer may not be finite.
Constraints
Input
Input is given from Standard Input in the following format:
A B C
Output
Print the number of times the action will be performed by the three people, if this number is finite. If it is infinite, print -1
instead.
Sample Input 1
4 12 20
Sample Output 1
3
Initially, Takahashi, Aoki and Snuke have 4, 12 and 20 cookies. Then,
Now, Takahashi and Snuke have odd number of cookies, and therefore the answer is 3.
Sample Input 2
14 14 14
Sample Output 2
-1
Sample Input 3
454 414 444
Sample Output 3
1
a==b==c的时候会死循环,其他情况暴力算就行了,因为每一次操作之后最大值-最小值会减半,所以不久就能到达终止条件。
#include<bits/stdc++.h> #define ll long long using namespace std; int A,B,C,tot,a,b,c; int main(){ scanf("%d%d%d",&A,&B,&C); while(!((A&1)||(B&1)||(C&1))){ if(A==B&&B==C){ puts("-1"); return 0; } tot++,a=(B+C)>>1,b=(A+C)>>1,c=(B+A)>>1; A=a,B=b,C=c; } printf("%d\n",tot); return 0; }
标签:const spec traints his pre any mat amp rom
原文地址:https://www.cnblogs.com/JYYHH/p/8781615.html