結果
問題 |
No.38 赤青白ブロック
|
ユーザー |
![]() |
提出日時 | 2020-03-19 14:39:04 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 312 ms / 5,000 ms |
コード長 | 756 bytes |
コンパイル時間 | 256 ms |
コンパイル使用メモリ | 82,032 KB |
実行使用メモリ | 77,236 KB |
最終ジャッジ日時 | 2024-12-14 03:12:42 |
合計ジャッジ時間 | 3,444 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 27 |
ソースコード
#!/usr/bin/ python3.8 import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines import itertools KR, KB = map(int, readline().split()) S = read().rstrip().decode() ind = [i for i, x in enumerate(S) if x in 'RB'] def test(ind): se = sum(1 << i for i in ind) T = [x for i, x in enumerate(S) if not ((se >> i) & 1)] if any(x == y == 'R' for x, y in zip(T, T[KR:])): return False if any(x == y == 'B' for x, y in zip(T, T[KB:])): return False return True def solve(): for remove_size in range(21): for remove_ind in itertools.combinations(ind, remove_size): if test(remove_ind): return 30 - remove_size print(solve())