애드센스와이드


[SRM 478] 키위 주스 TopCoder

나만 어려운건지 문제와 예시를 봐도 도저히 이해가 안가서 상세 정리해놓음.

내가 이해한 핵심 결론은 fromId 병의 주스를 toId 병의 주스로 부어 넣는데 toId 병이 꽉 차면 더 안 붓는다는 것임.

헤깔린 이유는 fromId가 3이고 toId가 1와 같은 경우 때문이었음.

그냥 fromId와 toId는 1개의 병만을 지칭한다고 처음부터 이해가 되었다면 쉬웠을 것임.

책에는 'i번째의 조작은 타로가 병 fromId[i] 부터 병 toId[i]에 키위 주스를 는 것을 의미합니다.' 부분이 나에게 문제였는데
부터라는 표현이 마치 fromId[i]병 부터 순서대로 릴레이 식으로 이어 붓는다는 것 처럼 이해가 되었다.

개인적인 생각이지만 병 fromId[i]에서 병 toId[i]로 키위 주스를... 이런 식으로 썼다면 더 이해가 용이했겠다. 1:1로 부어 넣는다는 의미로 쉽게 이해된다고 생각한다.

예시 3번의 숫자 변화를 정리한 표를 사진으로 첨부해놓는다.

소스코드는 워낙 인터넷에 많아서 일단 생략한다.

3)
capacities = {14, 35, 86, 58, 25, 62}
bottles = { 6, 34, 27, 38, 9, 60}
fromId = { 1, 2, 4, 5, 3, 3, 1, 0}
toId = { 0, 1, 2, 4, 2, 5, 3, 1}
Returns : {0, 14, 65, 35, 25, 35}






덧글

댓글 입력 영역


이 이글루를 링크한 사람 (블랙)

4