자유롭게 게시물을 올릴수있는 게시판입니다.
  • 유년추억
  • 학교생활
  • 입시준비
  • 대학생활
  • 군생활
  • 알바생활
  • 취업준비
  • 직장생활
  • 원룸생활
  • 연애중
  • 결혼준비
  • 집안살림
  • 자녀교육
  • 창업준비
  • 이민유학
  • 노후생활
  • 전체보기


헝가리 수학문제

 


어디선가 본것인지 저장되어있길래 이렇게 올립니다.
어쩌면 뒷북일수도 있곘군요.. 그래도 재밌게 봐주세요.




어느 교도소에 죄수 23명이 있고

어느 한 방에(어떤 변화도 알수 없는 즉 그 용도를 모르는)

스위치 ⓐ와 ⓑ 두개가 있습니다.

그 스위치의 처음 상태는 교도소장만 알고 있습니다.

둘다 오프일수도 둘다 온일수도 하나만 온일수도...있다는 겁니다.

죄수 23명은 오늘 하루만 서로 회의를 할 기회가 있으며

내일부턴 각자 격리 수용될 것입니다.

내일부터 있을 일에 대해 설명 드립니다.

간수가 임의로 한명을 독방에서 꺼내어 그 스위치가 있는 방에 데려갑니다.

그 한명은 두개의 스위치중 "반드시" 한개를 변화시켜야 합니다.

반드시 ⓐ ⓑ 둘 중 하나를 온 혹은 오프로 바꿔야 합니다.

그리고 어떤 표시도 할수 없습니다. 그가 들어오기 전과 후의 변화는

스위치 하나의 on/off 일 뿐입니다.

이런식으로 하루에 몇번이 되든 한명씩 그 방에 드나듭니다.

한 명만 계속 들여 보낼수도 있습니다.

꼭 23명 모두룰 순서대로 들여보내란 법이 없다는 뜻입니다.

여기서 문제가 문제가 나갑니다.

23명이 전부 한번 이상 들어갔음이 확실하다고 생각되면

누구라도 선언을 할 수 있다고 합니다.

"23명이 전부 들어왔다!!" 라고 선언을 하고나서

그 선언이 진실이면 전부 사면되고

그선언이 거짓이면 즉 한명이라도 그 방에 들어가지 못한사람이

있다면 모두의 사면 기회는 박탈됩니다.

오늘은 하루뿐인 대화의 시간입니다.

23명 모두 머리를 짜내어 사면의 기회를 잡아야 합니다.

어떻게 하면 될까요?




답

일단 쉽게 생각할 수 있는 방법부터.

카운트맨 한 사람을 선정한 다음, 이 사람에게 각자가 그 방에 들렀다는 정보를 전해 주고, 그 정보로부터 모든 사람이 방에 왔음을 알 때 선언을 하게 합니다.

정보를 전하는 방법이 문제인데, 카운트맨이 정보를 받기 전까지는 그 정보가 그대로 보존되어야 하니까, 손대지 말아야 할 스위치가 필요합니다.

따라서, 각 죄수의 스위치 조작 방법은, A 스위치를 켠 적이 없을 때, A 스위치가 꺼져 있으면 켜 두고 만약 A 스위치가 켜져 있으면 손대지 말고 그냥 나가...면 안 되니까 B 스위치의 상태를 바꿉니다. A 스위치를 켠 적이 있는 경우도 B 스위치를 바꿉니다.

결국 B는 일종의 dummy인 거죠.

이제 카운트맨이 이 방에 들어 왔을 때, A 스위치가 꺼져 있으면 아직 아무도 안 들어왔다는 뜻이니까 역시 dummy인 B를 바꾸고 나갑니다. 만약 방에 들어왔을 때 A 스위치가 켜져 있다면, A 스위치를 처음 켠 사람이 왔다갔다는 것이니까, 신호를 받았다는 뜻으로 A 스위치를 끄고 나갑니다. 그러면서 카운트맨은 카운터를 하나 올립니다.

이렇게 해서 카운터가 22가 될 때까지 들락날락하면 됩니다.

한 가지 문제가 있죠.

그 방의 스위치가 처음에 어떻게 되어 있는지에 대한 정보가 없습니다.

만약 처음에 A 스위치가 꺼져 있었다면 이 방법이 잘 작동하지만, A 스위치가 처음부터 켜져 있을 수도 있습니다.

이렇게 되면 카운트맨을 제외한 다른 죄수는 A 스위치에 손을 댈 수가 없으니까, 극단적인 경우 22명이 모두 방에 왔다가 A 스위치는 손도 못 대고 나간 다음에 카운트맨이 들어오고서야 카운터가 1이 될 수도 있습니다.

이 경우 카운트맨에 의해 A 스위치가 꺼진 다음 죄수들이 다시 A 스위치를 켜게 되는데, 21명이 켜는 것으로 카운트맨의 카운터가 22가 되어 버립니다.

따라서, 처음부터 A 스위치가 켜져 있을 가능성에 대한 대비를 해야 합니다.

방법은 간단합니다. 각 죄수가 "두 번씩" A 스위치를 켜면 됩니다.

만약 처음에 A 스위치가 켜져 있는 상태로 출발했다면, 앞서의 극단적인 경우를 생각할 때, 카운트맨의 카운터가 22가 되면 모든 죄수가 그 방에 들어왔다 나갔음을 알 수 있습니다.

만약 처음에 A 스위치가 꺼져 있는 상태로 출발했다면, 각 죄수가 많아야 두 번 A 스위치를 켜게 되니까 최악의 경우 카운터가 44가 되면 모든 죄수가 그 방에 들어왔다 나갔음을 알 수 있습니다.

그러므로 카운트맨의 최선의 전략은 카운터가 44가 될 때 "23명이 전부 들어왔다!!"고 선언하는 것입니다.






루단
written by 루단 (ASH86)
2003-07-09 22:17:56
2493 번 읽음
  총 14 개의 댓글이 있습니다.
  1. 1. BABAMAN '03.7.11 2:02 AM 신고
    :-D*다른일을 하면 안된다라는 말이 없으므로 그기에 들어간사람은 각자 표시를 벽에다하면 되는거 아닌가? ↓댓글에댓글
  2. 2. 리노 '03.7.11 1:44 PM 신고
    :-D*수학문제이니 수학적으로 풀어야할것 같은데... 전구로 표현을 하려면, 최소 전구가 5개는 필요하겠네요.. ㅡㅡ; 어떻게 풀까나? ㅡㅡ; 머리에 압박이 들어오는군요.. ↓댓글에댓글
  3. 3. 보이드 '03.7.11 6:48 PM 신고
    :-D*음 이거는여.. 설명하기 힘드네.. 일단 스위치가 두개니깐 하나만 쓰는걸로 하구 ↓댓글에댓글
  4. 4. 보이드 '03.7.11 6:50 PM 신고
    :-D*22명은 들어갈떄마다 ⓐ스위치를 on으로 키는겁니다.. 만약 on으로 있으면 ⓑ스위치를 암데루 움직이구.. ↓댓글에댓글
  5. 5. 보이드 '03.7.11 6:51 PM 신고
    :-D*글구 나머지 1명은 들어갈때 마다 ⓐ스위치를 끄는거죠.. ↓댓글에댓글
  6. 6. 보이드 '03.7.11 6:53 PM 신고
    :-D*이렇게 ⓐ스위치를 22번 끄면 다 들어왔었던거죠.. ↓댓글에댓글
  7. 7. 보이드 '03.7.11 6:54 PM 신고
    :-D*아 중요한건 22명한테 꼭 한번만 ⓐ스위치를 on으로 키게 시키는겁니다.. 한번 on했었으면 그냥 ⓑ스위치 만지구.. ↓댓글에댓글
  8. 8. 불명 '03.7.11 9:00 PM 신고
    :-D*그럼 같은 사람이 여러번 들어갔으면요? 번호를 붙인다면 1번은 한번도 안들어가고 다른 사람들만 들락날락 거렸는데 23번 사람은 22번 끌수 있잖아요 ↓댓글에댓글
  9. 9. 대양해군의꿈 '03.7.11 9:41 PM 신고
    :-D*내가 바보군... 이 문제가 무슨 소리인지 이해가 잘 가지 않으니 원...-ㅁ-;;; ↓댓글에댓글
  10. 10. 보이드 '03.7.12 12:42 AM 신고
    :-D*불명님.. 그니깐 꼭 한번씩만 ⓐ스윗치를 키게 시키는거죠.. 한사람이 여러번 키지 않게.. ↓댓글에댓글
  11. 11. 손가락 '03.7.12 9:16 PM 신고
    ;-)*보이드님 에게 한표, 아니 열표, 시간문제이긴 하지만 가능하겠군요, 굿입니다. 단 스위치의 a, b 및 온, 오프 상태에 대한 약속이 있어야 하겠군요, 또한 ↓댓글에댓글
  12. 12. 손가락 '03.7.12 9:20 PM 신고
    ;-)*23번 key맨이 꼭 최소 23번이상 입장해야하며, 최대 혼자만 드나들거나 , 22번째 사람이 들어왔나 나간이후 23번 key맨의 기회가 없다면(물론 그전에 많이 들어 왔지만) 헛일? ↓댓글에댓글
  13. 13. 손가락 '03.7.12 9:22 PM 신고
    ;-)*예로 a의 스위치가 최초 on상태이고, 처음 입장한 사람이 그 key맨이라면 key맨은 처음 1번의 오차를 포함하므로 24번째에가서 선언을 해야 겠군요 ↓댓글에댓글
  14. 14. 루단 '03.7.13 8:08 PM 신고
    :-D*정확한 답은 안나왔지만... 답을 달도록하죠..^^ ↓댓글에댓글
☞ 로그인 후 의견을 남기실 수 있습니다
 캐시선물





365ch.com 128bit Valid HTML 4.01 Transitional and Valid CSS!
태그