結果
| 問題 |
No.1016 三目並べ
|
| コンテスト | |
| ユーザー |
uni_python
|
| 提出日時 | 2020-04-04 09:17:43 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 64 ms / 2,000 ms |
| コード長 | 1,071 bytes |
| コンパイル時間 | 164 ms |
| コンパイル使用メモリ | 82,224 KB |
| 実行使用メモリ | 72,588 KB |
| 最終ジャッジ日時 | 2024-07-03 07:00:58 |
| 合計ジャッジ時間 | 1,213 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 10 |
ソースコード
def I(): return int(input())
def MI(): return map(int, input().split())
def LI(): return list(map(int, input().split()))
mod=10**9+7
def main():
T=I()
for _ in range(T):
a,S=input().split()
N=int(a)
S=["x","x"]+list(S)+["x","x"]
now="x"
length=1
f=0
for i in range(2,N+2):
if S[i]==now:
length+=1
else:
now=S[i]
length=1
if now=="o" and length==3:
f=1
break
elif now=="o" and length==2 and (S[i-2]=="-" or S[i+1]=="-"):
f=1
break
elif now=="o" and (S[i-1]=="-" and S[i+1]=="-") and(S[i-2]=="-" or S[i+2]=="-"):
f=1
break
elif now=="-" and length%2==1 and (S[i-length]=="o" and S[i+1]=="o"):
f=1
break
if f==1:
print("O")
else:
print("X")
main()
uni_python