結果
問題 | 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()