結果
問題 |
No.3061 Cut and Maximums
|
ユーザー |
![]() |
提出日時 | 2025-04-24 12:26:31 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,584 bytes |
コンパイル時間 | 147 ms |
コンパイル使用メモリ | 81,916 KB |
実行使用メモリ | 54,124 KB |
最終ジャッジ日時 | 2025-04-24 12:27:38 |
合計ジャッジ時間 | 3,464 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 33 |
ソースコード
def main(): S = input().strip() letters = set(c for c in S if c != ' ') distinct_letters = list(letters) n = len(distinct_letters) # Function to check if a subset K is valid def is_valid(K): transformed = [] for c in S: if c == ' ': transformed.append(' ') else: if c in K: transformed.append(c) else: transformed.append(' ') # Trim leading and trailing spaces s = ''.join(transformed) trimmed = s.strip() if len(trimmed) < 2: return False # Check pattern for i in range(len(trimmed)): pos = i + 1 # 1-based if pos % 2 == 1: # odd position, must be letter if trimmed[i] == ' ': return False else: # even position, must be space if trimmed[i] != ' ': return False return True # Iterate over all possible subsets of distinct_letters from itertools import combinations # Generate all possible subsets (non-empty) found = False for k in range(1, n+1): for subset in combinations(distinct_letters, k): K = set(subset) if is_valid(K): found = True print("Yes") return # Also check the full set if is_valid(set(distinct_letters)): found = True print("Yes") return print("NO") if __name__ == "__main__": main()