https://beta.atcoder.jp/contests/summerfes2018-div2/tasks/summerfes2018_a
考察過程
1. A問題にしては難しく見える
2. とても簡単な解法を考えてみると、10^100回シミュレートしてみるのが楽そう
3. 計算量的に難しいので、できるだけシミュレートする
4. 自分は10^5を上限としてシミュレートした
解説
https://beta.atcoder.jp/contests/summerfes2018-div2/submissions/3070681
シミュレートしよう。
Codeforcesとかでも見たことがあるが、満たす状態がもし現れるなら早い段階だろうという推測を立てて、
愚直シミュレーションしてしまう問題もある。
int X, Y, Z; //--------------------------------------------------------------------------------------------------- int solve() { int x = X, y = Y, z = Z; rep(i, 2, 101010) { int xx = y - z; int yy = z - x; int zz = x - y; if (xx == 0 or yy == 0 or zz == 0) return i; x = xx, y = yy, z = zz; } return -1; } //--------------------------------------------------------------------------------------------------- void _main() { cin >> X >> Y >> Z; cout << solve() << endl; }