結果
問題 |
No.3061 Cut and Maximums
|
ユーザー |
![]() |
提出日時 | 2025-05-14 12:48:06 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,584 bytes |
コンパイル時間 | 211 ms |
コンパイル使用メモリ | 82,572 KB |
実行使用メモリ | 54,480 KB |
最終ジャッジ日時 | 2025-05-14 12:49:40 |
合計ジャッジ時間 | 3,889 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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()