結果
| 問題 |
No.2373 wa, wo, n
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-10-13 18:08:06 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 172 ms / 2,000 ms |
| コード長 | 2,229 bytes |
| コンパイル時間 | 353 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 11,520 KB |
| 最終ジャッジ日時 | 2024-09-15 13:59:04 |
| 合計ジャッジ時間 | 4,004 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge6 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 39 |
ソースコード
from collections import Counter
from re import compile
import sys
def printe(*args, end="\n"):
print(*args, end=end, file=sys.stderr)
def main():
N = int(input())
S = input()
ctr = Counter(S)
if len(S) > ctr["w"] + ctr["a"] + ctr["o"] + ctr["n"] + ctr["?"]:
print("No")
return
idx = 0
while idx < N:
if idx == N - 1:
if S[idx] in ("?", "n"):
print("Yes")
else:
print("No")
printe(S[idx - 10:idx + 10])
return
if idx == N - 2:
if S[idx] == "w":
if S[idx + 1] in ("a", "o", "?"):
print("Yes")
else:
print("No")
printe(S[idx - 10:idx + 10])
return
if S[idx] in ("a", "o"):
print("No")
printe(S[idx - 10:idx + 10])
return
if S[idx] == "n":
if S[idx + 1] in ("n", "?"):
print("Yes")
else:
print("No")
printe(S[idx - 10:idx + 10])
return
if S[idx] == "?":
if S[idx + 1] == "w":
print("No")
printe(S[idx - 10:idx + 10])
else:
print("Yes")
return
l_1, l_2, l_3 = S[idx:idx + 3]
if l_1 in ("a", "o"):
print("No")
printe(S[idx - 10:idx + 10])
return
if l_1 == "n":
idx += 1
continue
if l_1 == "w":
if l_2 in ("a", "o", "?"):
idx += 2
continue
print("No")
printe(S[idx - 10:idx + 10])
return
if l_1 == "?":
if l_2 == "w":
idx += 1
continue
if l_2 != "?":
idx += 2
continue
if l_3 == "w":
idx += 2
continue
if l_3 in ("a", "o", "n"):
idx += 3
continue
idx += 1
if __name__ == "__main__":
main()