https://atcoder.jp/contests/agc046/tasks/agc046_a
解説
https://atcoder.jp/contests/agc046/submissions/14511770
まず自明な所から考えてみると、
X=180, X=90, X=60みたいな正多角形で内角が整数であるものは360/Xが答えになっている。
X=100のような、360/Xが整数にならない場合が問題。
場合分けするのも大変なので、一旦全部まとめて考えられるような式が立てられないか考えると、
角度は360でも720でも変わらないみたいな性質を使うと、
「XKが360の倍数であるようなKで戻ってくるのでは?」
という仮定ができる。
なので、XKが360の倍数となるKの最小値が答えっぽい。
普通のコンテストならこの仮定でつっこんでもいいが、AGCなので、
かつ、Xも179通りしかないので、実験コードで確認してから出すと確実かもしれない。
(ランキングをチラ見して、爆速でみんな通しているので、つっこむ戦略もいいかも)
int X; //--------------------------------------------------------------------------------------------------- void _main() { cin >> X; int K = 1; while (K * X % 360 != 0) K++; cout << K << endl; }