https://atcoder.jp/contests/abc205/tasks/abc205_c
解説
https://atcoder.jp/contests/abc205/submissions/23456949
発想力が必要となる問題。
真面目に計算するのは精度的に無理なので、logか…?とも思ったがこちらも精度が心配で、300点っぽくない。
大小関係だけを今回は要求していることを考慮していくと、A2やB2は非負になるので、A2,B2をかけることは
0以外は大小関係に影響を及ぼさない。
0が入ると大小関係が崩れる、最終的にはAとBかA2とB2の比較になるので、あまり気にしなくてもいい。
(心配なら場合分けしてもいいと思う。よくわからないなら場合分けする方針はいい保険だと思う)
ということは、Cはmod2っぽく考えてもよいことになる。
正確には0になると、累乗としては意味合いが変わってしまうので、奇数ならC=1として考えて、
偶数ならC=2として考えて問題を解くことで大小関係が分かる。
C=1,2ならlong long上であれば計算が可能なので、計算して比較すると答えが得られる。
ll A, B, C; //--------------------------------------------------------------------------------------------------- ll pow(ll X, ll Y) { if (Y == 1) return X; return X * X; } //--------------------------------------------------------------------------------------------------- void _main() { cin >> A >> B >> C; if (C % 2 == 0) C = 2; else C = 1; if (pow(A, C) == pow(B, C)) cout << "=" << endl; else if (pow(A, C) < pow(B, C)) cout << "<" << endl; else cout << ">" << endl; }