結果
| 問題 |
No.1016 三目並べ
|
| コンテスト | |
| ユーザー |
kashibashimin94
|
| 提出日時 | 2020-04-04 12:59:07 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 71 ms / 2,000 ms |
| コード長 | 1,461 bytes |
| コンパイル時間 | 528 ms |
| コンパイル使用メモリ | 82,100 KB |
| 実行使用メモリ | 70,656 KB |
| 最終ジャッジ日時 | 2024-07-03 07:13:28 |
| 合計ジャッジ時間 | 1,454 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 10 |
ソースコード
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
if flag:
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