요즘 이런문제가 떠돈다.
문제에 몇가지 정확한 설명이 없어서 가정을 하겠다.
우유장수가 가지고있는 16ℓ 두통은 우유가 가득 차있고 손님의 4,5 ℓ는 비어있다고 하자.
16ℓ에서 5ℓ 병으로 우유를 붓는다.

그다음에 5ℓ에서 4ℓ가 가득 찰때까지 우유를 붓는다.

그러면 5ℓ병에는 우유가 1ℓ 있다.
일단 정리
16ℓ 1 : 16ℓ
16ℓ 2 : 11ℓ
5ℓ : 1ℓ
4ℓ : 4ℓ

라는 상황이다.여기서 4ℓ병에 있는걸 16ℓ 2에 다시 붓고 5ℓ 병에 있는것을 4ℓ 병에 붓는다.
정리 2
16ℓ 1 : 16ℓ
16ℓ 2 : 15ℓ
5ℓ : 0ℓ
4ℓ : 1ℓ

그런다음에 다시 5ℓ를 가득 체운다.

16ℓ 1 : 16ℓ
16ℓ 2 : 10ℓ
5ℓ : 5ℓ
4ℓ : 1ℓ

그런 다음에 4ℓ가 가득 찰때까지 5ℓ에 있는 우유를 붓는다.

16ℓ 1 : 16ℓ
16ℓ 2 : 10ℓ
5ℓ : 2ℓ
4ℓ : 4ℓ

일단 2ℓ 완성.

4ℓ를 다시 16ℓ 2병에에 붓는다.
16ℓ 1 : 16ℓ
16ℓ 2 : 14ℓ
5ℓ : 2ℓ
4ℓ : 0ℓ

그다음 16ℓ 1에서 4ℓ 에다가 우유를 가득 붓는다.

16ℓ 1 : 12ℓ
16ℓ 2 : 14ℓ
5ℓ : 2ℓ
4ℓ : 4ℓ

자 이제 뭔가 보이나?
4ℓ에서 16ℓ 2에다가 16ℓ 2가 가득 찰때까지 붓는다.

16ℓ 1 : 12ℓ
16ℓ 2 : 16ℓ
5ℓ : 2ℓ
4ℓ : 2ℓ

2ℓ 두병 완성



두번째 가정. 우유는 드럼통같은데 한가득 있고 비어있는 16ℓ 두병과 5ℓ, 4ℓ 병이 있다고 하자.
이건 더 간단하다.
위의 가정에서 첫번째 2리터 만드는걸 두번 하면된다.
첫번째 2ℓ를 만든다음 빈 16ℓ병에 붓고
다시 하나더만든 다음에 다른 손님이 가진 병에다가 아까 만들어서 부어놨던 2ℓ를 주면된다.

'기타 > 개드립' 카테고리의 다른 글

역대 최대급 별창  (0) 2011.09.25
부르셨어요?  (0) 2011.09.17
인공지능 vs 인공지능  (0) 2011.09.11
소름돋는다 레알  (0) 2011.09.02
붕붕드링크  (0) 2011.08.31
Posted by 동적할당
: