yukicoder #358 も~っと!門松列
問題
解答
が門松列であれば、大きなで抑えられるのでとなる。 が門松列でない場合、をすべて試せば良い。
bool is_kado(std::vector<int> const& A) { if (A.size() != 3) { return false; } return A[0] != A[2] && ((A[1] > A[0] && A[1] > A[2]) || (A[1] < A[0] && A[1] < A[2])); } int main() { std::vector<int> A(3); cin >> A; if (is_kado(A)) { std::cout << "INF\n"; return 0; } int ans = 0; for (int p = 1; p < 1001; p++) { vector<int> B; rep(i, 3) B.push_back(A[i] % p); if (is_kado(B)) { ans++; } } std::cout << ans << "\n"; }