sgc109   8년 전

D(i) = i일째까지 모두 탔을때 최소비용(i>=1)

D(i) = min(

D(i-1)+bus[i]*1+train[i]*2,

D(i-1)+3+train[i]*2,

D(i-1)+6,

D(i-7)+18+sum(train[i-6]~train[i])*2,

D(i-7)+36,

D(i-30)+45+sum(train[i-29]~train[i])*2,

D(i-30)+90

)


이렇게 짜봤는데 틀렸다고나오는데 틀린이유를 잘 모르겠습니다.

(위에서 만약 D(i-x) 나 train[i-x] 같은데서 인덱스가 음수면 0 또는 0부터더하는걸로 바꿉니다.)

nuclear852   8년 전

sum (train [k] - train [j]) * 2 부분을 더하는 것이 잘못 된 것 같은데..

30일 버스 이용권을 샀을 때,

굳이 남은 30일 동안 train을 1회이용권만 사라는 법은 없잖아요??

예를 들어서 

Day         1    2   3      4     5       6     7     8 9 .... 30

bus max회 max회 ....                                       max회

train 4회 4회  4회 4회  4회  4회  4회 0회  0회 ... 0회

이럴경우는 30일  버스 이용권 + 7일 freepass 81달러로 사는게 제일 이득인데

train을 1회 이용권 사는 것 말고도 free pass를 구매하여 이득을 보는 경우를 고려해야 할 것 같아용...

댓글을 작성하려면 로그인해야 합니다.