はまやんはまやんはまやん

hamayanhamayan's blog

夏祭り会議 (Summer Festival Meeting) [Summer Festival Contest 2018 A]

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;
}