結果
| 問題 |
No.1016 三目並べ
|
| コンテスト | |
| ユーザー |
divinediscon10t
|
| 提出日時 | 2020-04-03 22:56:06 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,582 bytes |
| コンパイル時間 | 1,651 ms |
| コンパイル使用メモリ | 168,300 KB |
| 実行使用メモリ | 6,948 KB |
| 最終ジャッジ日時 | 2024-07-03 05:26:26 |
| 合計ジャッジ時間 | 2,183 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 1 |
| other | WA * 10 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> P;
const ll MOD = 1e9+7;
const ll INF = 1e18;
#define rep(i,m,n) for(ll i = (m); i <= (n); i++)
#define zep(i,m,n) for(ll i = (m); i < (n); i++)
#define rrep(i,m,n) for(ll i = (m); i >= (n); i--)
#define print(x) cout << (x) << endl;
#define printa(x,m,n) for(ll i = (m); i <= n; i++){cout << (x[i]) << " ";} cout<<endl;
int main(){
cin.tie(0); ios::sync_with_stdio(false);
ll T;
cin >> T;
zep(t, 0, T){
ll n; string s; cin >> n >> s;
bool ans = false;
zep(i, 0, n){
if(i+2 < n && s[i] == 'o' && s[i+1] == 'o' && s[i+2] == 'o'){ans = true;}
if(i+1 < n && s[i] == 'o' && s[i+1] == 'o' && ((i-1 >= 0 && s[i-1] == '-') || (i+2 < n && s[i+2] == '-'))){ans = true;}
if(i+2 < n && s[i] == '-' && s[i+1] == 'o' && s[i+2] == '-' && ((i-1 >= 0 && s[i-1] == '-') || (i+3 < n && s[i+3] == '-'))){ans = true;}
}
ll state = 0;
ll cnt = 0;
zep(i, 0, n){
if(state == 0){
if(s[i] == 'o'){
state = 1;
}
}
else{
if(s[i] == 'o'){
if(cnt%2 == 1){ans = true;}
cnt = 0;
}
if(s[i] == 'x'){
state = 0;
cnt = 0;
}
if(s[i] == '-'){
cnt++;
}
}
}
print((ans)? "o" : "x")
}
return 0;
}
divinediscon10t