結果
問題 |
No.38 赤青白ブロック
|
ユーザー |
|
提出日時 | 2021-08-15 09:07:01 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 948 bytes |
コンパイル時間 | 306 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 17,572 KB |
最終ジャッジ日時 | 2024-10-06 22:56:24 |
合計ジャッジ時間 | 12,950 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | TLE * 1 -- * 26 |
ソースコード
import copy Kr,Kb = map(int,input().split()) S = list(input()) lsBR = [] for i in range(len(S)): if S[i] == 'B' or S[i] == 'R': lsBR.append(i) ans = 0 for i in range(2**len(lsBR)): S1 = copy.copy(S) for j in range(len(lsBR)): if (i>>j) & 1: S1[lsBR[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(len(S2),ans) print(ans)