結果
問題 | No.358 も~っと!門松列 |
ユーザー |
![]() |
提出日時 | 2016-04-17 23:07:11 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 724 bytes |
コンパイル時間 | 1,190 ms |
コンパイル使用メモリ | 161,400 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-04 10:50:01 |
合計ジャッジ時間 | 2,044 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a;i<b;i++) typedef vector<int> vi; bool check(vi _a, int p) { vi a(3); rep(i, 0, 3) a[i] = _a[i] % p; //rep(i, 0, 3) cout << a[i] << " "; //cout << endl; if (a[0] == a[1]) return false; if (a[0] == a[2]) return false; if (a[1] == a[2]) return false; int _max = max(a[0], max(a[1], a[2])); int _min = min(a[0], min(a[1], a[2])); if (_max == a[1]) return true; if (_min == a[1]) return true; return false; } int main() { vi a(3); rep(i, 0, 3) cin >> a[i]; int m = 0; rep(i, 0, 3) m = max(m, a[i]); int c = 0; rep(i, 1, m + 1) if (check(a, i)) c++; if (check(a, m + 1)) cout << "INF" << endl; else cout << c << endl; }