結果
問題 |
No.1016 三目並べ
|
ユーザー |
![]() |
提出日時 | 2021-05-09 19:01:36 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 151 ms / 2,000 ms |
コード長 | 1,134 bytes |
コンパイル時間 | 291 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-09-19 00:12:07 |
合計ジャッジ時間 | 1,487 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 10 |
ソースコード
T=int(input()) for k in range(T): N,S=input().split() N=int(N) flag=True for i in range(N-2): if S[i]==S[i+1]==S[i+2]=="o": print("O") flag=False break if (S[i]==S[i+1]=="o") and S[i+2]=="-": print("O") flag=False break if (S[i]==S[i+2]=="o") and S[i+1]=="-": print("O") flag=False break if (S[i+2]==S[i+1]=="o") and S[i]=="-": print("O") flag=False break if i!=N-3: if (S[i+1]=="o") and S[i]==S[i+2]==S[i+3]=="-": print("O") flag=False break if (S[i+2]=="o") and S[i]==S[i+1]==S[i+3]=="-": print("O") flag=False break flag2=False if not flag: continue for i in range(1,N): if S[i]!="-": flag2=False if S[i]=="-": if S[i-1]=="o": this=1 flag2=True if S[i]=="-" and i!=N-1: if S[i+1]=="o" and flag2: if this%2==1: print("O") flag=False break else: flag2=False this=-1 elif S[i+1]=="-": if flag2: this+=1 if flag: print("X")