結果
問題 | No.1016 三目並べ |
ユーザー | kozy |
提出日時 | 2021-05-09 19:01:36 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
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 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 25 ms
10,880 KB |
testcase_01 | AC | 25 ms
10,752 KB |
testcase_02 | AC | 25 ms
10,880 KB |
testcase_03 | AC | 28 ms
10,752 KB |
testcase_04 | AC | 28 ms
10,880 KB |
testcase_05 | AC | 27 ms
10,880 KB |
testcase_06 | AC | 26 ms
10,752 KB |
testcase_07 | AC | 113 ms
10,752 KB |
testcase_08 | AC | 104 ms
10,752 KB |
testcase_09 | AC | 135 ms
10,880 KB |
testcase_10 | AC | 151 ms
10,752 KB |
ソースコード
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")