結果
| 問題 |
No.1016 三目並べ
|
| コンテスト | |
| ユーザー |
kashibashimin94
|
| 提出日時 | 2020-04-04 12:57:01 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,346 bytes |
| コンパイル時間 | 180 ms |
| コンパイル使用メモリ | 81,792 KB |
| 実行使用メモリ | 70,528 KB |
| 最終ジャッジ日時 | 2024-07-03 07:15:05 |
| 合計ジャッジ時間 | 1,202 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 4 WA * 6 |
ソースコード
t=int(input())
s=[input().split() for i in range(t)]
for i in range(t):
v=int(s[i][0])
if v<=2:
print('X')
elif v==3:
if '-oo'==s[i][1] or 'o-o'==s[i][1] or 'oo-'==s[i][1] or 'ooo'==s[i][1]:
print('O')
else:
print('X')
else:
flag=True
for j in range(v-2):
if '-oo'==s[i][1][j:j+3] or 'oo-'==s[i][1][j:j+3] or 'ooo'==s[i][1][j:j+3]:
print('O')
flag=False
break
if flag:
for j in range(v-3):
if '-o--'==s[i][1][j:j+4] or '--o-'==s[i][1][j:j+4]:
print('O')
flag=False
break
# 'o---o' を落とす
flag1=True
count=0
for j in range(v):
if (s[i][1][j]=='o' and flag1) or (s[i][1][j]=='o' and not flag1 and count%2==0):
flag1=False
count=0
elif s[i][1][j]=='x':
flag1=True
count=0
elif s[i][1][j]=='-':
count+=1
elif s[i][1][j]=='o' and not flag1 and count%2==1:
print('O')
flag=False
break
if flag:
print('X')
kashibashimin94