結果
問題 | No.38 赤青白ブロック |
ユーザー | szkhts |
提出日時 | 2021-08-15 09:04:59 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 964 bytes |
コンパイル時間 | 209 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 17,828 KB |
最終ジャッジ日時 | 2024-10-06 22:52:22 |
合計ジャッジ時間 | 12,678 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | TLE * 1 |
ソースコード
import copy Kr, Kb = map(int, input().split()) S = list(input()) br = [] for i in range(len(S)): if S[i] == 'B' or S[i] == 'R': br.append(i) ans = 0 for i in range(2 ** len(br)): S1 = copy.copy(S) for j in range(len(br)): if (i >> j ) & 1: S1[br[j]] = '' S2 = ''.join(S1) f = True for j in range(len(S2)): if S2[j] == 'R': if j - Kr >= 0: if S2[j - Kr] == 'R': f = False break if j + Kr < len(S2): if S2[j + Kr] == 'R': f = False break elif S2[j] == 'B': if j - Kb >= 0: if S2[j - Kb] == 'B': f = False break if j + Kb < len(S2): if S2[j + Kb] == 'B': f = False break if f: ans = max(ans, len(S2)) print(ans)