結果
問題 |
No.1016 三目並べ
|
ユーザー |
![]() |
提出日時 | 2020-04-03 22:22:42 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,313 bytes |
コンパイル時間 | 655 ms |
コンパイル使用メモリ | 67,608 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-03 03:58:33 |
合計ジャッジ時間 | 1,214 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | WA * 10 |
ソースコード
#include<iostream> #include<vector> #include<string> #define rep(i, start, end) for (int i = (int)start; i < (int)end; ++i) #define rrep(i, start, end) for (int i = (int)start - 1; i >= (int)end; --i) #define all(x) (x).begin(), (x).end() using namespace std; using ll = long long; template<typename T> inline bool chmax(T& a, T b) {if (a < b) {a = b; return true;} return 0;} template<typename T> inline bool chmin(T& a, T b) {if (a > b) {a = b; return true;} return 0;} void solve() { int N; string S; cin >> N >> S; if (N < 3) { cout << 'X' << endl; return; } rep(i, 0, N - 2) { if (S[i] == 'o' && S[i + 1] == 'o' && S[i + 2] == 'o') { cout << 'O' << endl; return; } if (S[i] == 'o' && S[i + 1] == 'o' && S[i + 2] == '-') { cout << 'O' << endl; return; } if (S[i] == '-' && S[i + 1] == 'o' && S[i + 2] == 'o') { cout << 'O' << endl; return; } if (S[i] == 'o' && S[i + 1] == '-' && S[i + 2] == 'o') { cout << 'O' << endl; return; } } cout << "X" << endl; } int main() { cin.tie(0); ios::sync_with_stdio(false); int T; cin >> T; rep(_, 0, T) { solve(); } return 0; }