상자에 가져갈 수 있는 사과가 10개가 있다.
A는 사과를 5개 가져가려고 했다. 그래서 5개를 예약하려한다.
B도 사과를 6개 가져가려한다. 그래서 6개를 예약하려 한다.
그런데 A가 예약하고나서 B도 바로 예약하면 B는 6개를 가져갈 수 없지 않나.
그래서 남은 사과 개수를 B에게 알려준다.
(예약수량 > 남은수량 = 모자라는건 주문해.)
B는 6개 주문하고 5개 예약받고 1개는 주문대기로 들어간다.
참 간단해보인다.
그런데 A가 돌아와서 사과를 7개로 늘린다고 한다.
그럼 사과 수량은 5개에서 7개가 되야한다.
현재 주문량 5개, 예약량이 5개, 상자에 남은 사과가 5개다.
여기서 주문량이 7개가 되면 예약량할 수 있는 양도 7개가 되는데 공식에 위배되버린다.
(주문량 7> 남은수량 5 = 주문해.)
이러면 안되지 않는가?!?! 실제로 더 가져갈 수 있는데!
그래서 이경우엔 공식을 바꾼다.
(주문량 - 예약량 > 남은수량= 주문해)
자, 이러면 7-7 은 5보다 작으니 얼마든지 수량을 늘릴 수 있다.
그러나 여기서 첫번째 문제가 생긴다.
A는 10개의 사과를 보고 7개를 사겠노라 주문했다.
이때 예약된건 7개다.
남은 사과는 3개다.
그런데 A가 주문하기 직전에 C라는 자가 남은 사과 3개를 사겠노라 주문했다.
그리고 사가버렸다.
여기서 A에게 주어질 공식을 보자.
(주문량 - 예약량 > 남은양)
(7- 7 >0)
아이러니하게도 공식에 위배되지 않아버린다!!
결국 A는 7개의 사과를 가져가야되는데 4개가 없다.
결국 사과는 -4개가 되어버린다.
이 과정을 뭔가 다른 공식을 통해 막아야한다.
어떻게 막아야하겠는가
라는 프로그램을 짜는중 아 ㅅㅂ 이거 계산 어떻게하지...
(위 과정은 실시간으로 일어나는게 아니라는걸 알아두셔야합니다. 그러니 A와 C의 모순이 생겨버립니다.)
아 너무 간단해서 머리 뽑고 싶다.