結果
| 問題 | No.1016 三目並べ |
| コンテスト | |
| ユーザー |
titia
|
| 提出日時 | 2020-04-03 22:39:59 |
| 言語 | Python3 (3.15.0 + numpy 2.5.4 + scipy 1.18.1 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 159 ms / 2,000 ms |
| + 283µs | |
| コード長 | 2,349 bytes |
| 記録 | |
| コンパイル時間 | 52 ms |
| コンパイル使用メモリ | 14,976 KB |
| 実行使用メモリ | 12,544 KB |
| 最終ジャッジ日時 | 2026-10-16 13:02:43 |
| 合計ジャッジ時間 | 2,006 ms |
|
ジャッジサーバーID (参考情報) |
judge4_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 11 |
ソースコード
import sys
input = sys.stdin.readline
T=int(input())
Q=[list(input().split()[1]) for i in range(T)]
import copy
for S in Q:
N=len(S)
flag=0
S2=copy.deepcopy(S)
for i in range(N-2):
if S[i]=="o" and S[i+1]=="o" and S[i+2]=="-":
print("O")
flag=1
break
if S[i]=="-" and S[i+1]=="o" and S[i+2]=="o":
print("O")
flag=1
break
if S[i]=="o" and S[i+1]=="-" and S[i+2]=="o":
print("O")
flag=1
break
if S[i]=="o" and S[i+1]=="o" and S[i+2]=="o":
print("O")
flag=1
break
if flag:
continue
for i in range(N-3):
if S[i]=="-" and S[i+1]=="o" and S[i+2]=="-" and S[i+3]=="-":
print("O")
flag=1
break
if S[i]=="-" and S[i+1]=="-" and S[i+2]=="o" and S[i+3]=="-":
print("O")
flag=1
break
if flag:
continue
for i in range(N-2):
if S[i]=="o" and S[i+1]=="-" and S[i+2]=="-":
S[i+1]="x"
S[i+2]="o"
for i in range(N-2):
if S[i]=="o" and S[i+1]=="o" and S[i+2]=="-":
print("O")
flag=1
break
if S[i]=="-" and S[i+1]=="o" and S[i+2]=="o":
print("O")
flag=1
break
if S[i]=="o" and S[i+1]=="-" and S[i+2]=="o":
print("O")
flag=1
break
if S[i]=="o" and S[i+1]=="o" and S[i+2]=="o":
print("O")
flag=1
break
if flag:
continue
S=S2
for i in range(N-1,1,-1):
if S[i]=="o" and S[i-1]=="-" and S[i-2]=="-":
S[i-1]="x"
S[i-2]="o"
for i in range(N-2):
if S[i]=="o" and S[i+1]=="o" and S[i+2]=="-":
print("O")
flag=1
break
if S[i]=="-" and S[i+1]=="o" and S[i+2]=="o":
print("O")
flag=1
break
if S[i]=="o" and S[i+1]=="-" and S[i+2]=="o":
print("O")
flag=1
break
if S[i]=="o" and S[i+1]=="o" and S[i+2]=="o":
print("O")
flag=1
break
if flag:
continue
print("X")
titia