log 2021-10-10
sport
bj 2812 - 크게 만들기
fail
dp를 이용해서 푸려고 했으나, 구현이 꼬인건지 제대로 계산되지 않는다.
bj 10815 - 숫자 카드
https://www.acmicpc.net/problem/10815
python solution
def solve():
N=ria()[0]
has=dict.fromkeys(ria())
# print(has)
M=ria()[0]
ans=['1' if x in has else '0' for x in ria()]
print(' '.join(ans))
pass
bj 17485 - 진우의 달 여행(Large)
python solution
운좋게 굉장히 깔끔한 코드로 풀었다. col+pd부분은 그냥 찍어서 맞은수준..
def solve():
N,M = ria()
cur=create2DArray(M,3,0)
prev=create2DArray(M,3,0)
directions = {-1,0,1}
def get_possible_directions(direction):
pd={-1,0,1}
pd.remove(direction)
return pd
for row in range(N):
cur=create2DArray(M,3,0)
cost_row = ria()
for col in range(M):
for di in directions:
possible_directions = get_possible_directions(di)
# cur[col][di] = prev[col][di]
min_prev = 9999999
for pd in possible_directions:
# cur[col][di] +=
if(0<=col+pd<M):
min_prev=min(min_prev,prev[col+pd][pd])
cur[col][di]=min_prev+cost_row[col]
pass
prev=cur
# print(cur)
ans = 9999999999
for curs in cur:
for item in curs:
ans=min(ans,item)
print(ans)
pass
Comments