結果
| 問題 |
No.38 赤青白ブロック
|
| コンテスト | |
| ユーザー |
rlangevin
|
| 提出日時 | 2023-09-25 12:22:15 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 766 ms / 5,000 ms |
| コード長 | 1,060 bytes |
| コンパイル時間 | 154 ms |
| コンパイル使用メモリ | 82,052 KB |
| 実行使用メモリ | 76,884 KB |
| 最終ジャッジ日時 | 2024-07-18 09:52:03 |
| 合計ジャッジ時間 | 20,586 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 27 |
ソースコード
Kr, Kb = map(int, input().split())
S = list(input())
M = 1 << 10
ans = 0
def check(A):
for i in range(len(A)):
if A[i] == 0:
if i - Kr >= 0:
if A[i - Kr] == 0:
return False
if i + Kr <= len(A) - 1:
if A[i + Kr] == 0:
return False
if A[i] == 1:
if i - Kb >= 0:
if A[i - Kb] == 1:
return False
if i + Kb <= len(A) - 1:
if A[i + Kb] == 1:
return False
return True
for sr in range(M):
for sb in range(M):
ir, ib = 0, 0
temp = []
for i in range(30):
if S[i] == "R":
if (sr >> ir) & 1:
temp.append(0)
ir += 1
elif S[i] == "B":
if (sb >> ib) & 1:
temp.append(1)
ib += 1
else:
temp.append(2)
if check(temp):
ans = max(ans, len(temp))
print(ans)
rlangevin