개인 노트
17026 단어 Python시합 프로그램 설계AtCodertech
감상
abcd4 완료
최고의 성능으로 Highst 업데이트
너무 좋아요.
A - Difference Max
x-y를 최대화하려면 x가 최대치이고 y가 최저치이며 k가 최대치이다
a, b = map(int, input().split())
c, d = map(int, input().split())
print(b - c)
B - Round Down
문자열로 숫자 X 를 입력합니다.
왼쪽 끝에서부터 한 글자 한 글자 확인하다
만약 소수점에 당첨된다면 거기서 끝내면 된다
X = input()
ans = ""
for x in X:
if x == ".":
break
ans += x
print(ans)
C - Doubled
전반전과 후반전이 같으니 그중 하나만 생각하면 된다
제약은 N<10^{12}, (전부분의 수량)
경기 중의 코딩
N = int(input())
ans = 0
for i in range(1, len(str(N)) // 2 + 1):
for j in range(10 ** (i - 1), 10 ** i):
if int(str(j) * 2) > N:
continue
ans += 1
print(ans)
경기 후의 코드N = int(input())
ans = 0
while int(str(ans) * 2) <= N:
ans += 1
print(ans - 1)
D - Hanjo
금방 해결책을 알았지만 실수가 너무 많았어요
귀속 함수를 사용하여 다음과 같은 전체 검색을 진행하다
왼쪽 상단에서 송어를 보는데 빈 자리가 있다면
만일 모든 다다미가 가득 차면, 다다미의 수량과 반 장의 다다미의 수량과 조건이 일치한다면, 가능한 상황으로 계산한다
만약 계산량이 각 칸마다 세 가지 상황을 대체적으로 고려할 수 있다면 O(3^{HW})\simO(10^7)는 실제로는 더욱 작을 것이기 때문에 문제없을 것 같다
귀속 함수에 관해서는 이 방면이 참고가 될 수 있다
디버깅에 편리하도록 now 배열 요소를 정수로 설정하지만 진리값으로 설정하면 더욱 실현하기 쉽다
귀속 함수에서 2차원 배열을 조작하기 때문에 deepcopy를 사용하지 않으면 고장이 발생할 수 있습니다
from copy import deepcopy
def rec(a: int, b: int, now: list):
"""
空いている場所を探し,そこに半畳か畳を配置していく
全部埋まっている&畳の数が正しければ1を返す
a: int
現在の部屋に詰めてある長方形の畳の数
b: int
現在の部屋に詰めてある正方形の半畳の数
now: list
現在の部屋の様子(どこにどの畳が詰めてあるか)
"""
# まだ畳が置かれていない(空いている)場所を探す
y, x = -1, -1
for i in range(H):
for j in range(W):
if now[i][j] == 0:
y, x = i, j
break
if y != -1:
break
res = 0
# 空きが無い&畳の数が正しいなら1を返す
if y == -1 and a == A and b == B:
res += 1
# 1.半畳を置く場合
if b < B:
lst = deepcopy(now)
lst[y][x] = b + 1
res += rec(a, b + 1, lst)
# 2.畳を縦に置く場合
if y + 1 < H and now[y + 1][x] == 0 and a < A:
lst = deepcopy(now)
lst[y][x] = -(a + 1)
lst[y + 1][x] = -(a + 1)
res += rec(a + 1, b, lst)
# 3.畳を横に置く場合
if x + 1 < W and now[y][x + 1] == 0 and a < A:
lst = deepcopy(now)
lst[y][x] = -(a + 1)
lst[y][x + 1] = -(a + 1)
res += rec(a + 1, b, lst)
return res
H, W, A, B = map(int, input().split())
ans = rec(0, 0, [[0] * W for _ in range(H)])
print(ans)
Reference
이 문제에 관하여(개인 노트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/m193h/articles/20210320sat225229m193habc196텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)