U E D R , A S I H C RSS

Basic알고리즘/빨간눈스님

Basic알고리즘/빨간눈스님

문제

{{| 옛날에 어느 나라에 승려들만 모여 사는 섬 있다. 그들 중에서 어느 사람은 눈 빨갛고 어느 사람은 눈 갈색다. 눈 빨간 사람은 마법에 걸려 있기 때문에 스스로 눈 빨갛다는 사실을 깨닫게 되면 그 날 밤 12시에 그 나라를 떠나서 사라져야만 한다. (무조건) 승려들은 서로의 눈 색깔에 대해 전혀 언급하지 안는다는 불문율 있었기에 상대방의 눈 색깔을 알려줄 수도 없었따. 그 섬에는 거울도 없고, 거울 비슷한 물건도 없었기 때문에 자신의 눈 무슨 색인지 아는 사람은 아무도 없었다. 그래서 그들은 자신의 눈 색깔을 알 길 없었기에 행복하게 살아갈 수 있었으며, 그 나라를 떠나는 사람도 아무도 없었다. 그러던 어느날, 그 섬에 관광객 찾아왔다. 그는 승려들 사에 존재하는 규칙을 알지 못했기 때문에 절대로 하지 말아야 할 말을 내뱉고 말았다.
"당신들 중에서 적어도 한명은 눈 빨간색로군요"
무심한 관광객은 그 날로 돌아갔지만, 남아 있는 승려들은 생전 처음으로 눈 색깔에 대한 말 나왔기 때문에 크게 동요하지 않을 수 없었다. 그리고 그 날 밤부터 그 섬에는 무서운 일 일어나기 시작했다. 과연 어떤일 일어났겠는가? |}}

제가 읽던 책에서 아주 재미있는 것을 발견하고, 렇게 올려봅니다.
프로그래밍에서 알고리즘을 찾는 것과 유사하다고 저자는 말하고 있는데요, 알고리즘을 찾아봅시다 ㅋㅋ!! - 허아영

생각적기

상당히 좋은 문제입니다. 문제를 컴퓨터를 도구로 사용해서 해결을 하는 훈련을 하면 상당한 사고훈련 될 것입니다. 적극 권합니다. 스스로 문제의 답을 알고 있다고 생각하는 사람도 직접 프로그래밍을 해보거나 하시면 많은 것을 느끼고 깨닫게 될 것입니다. --JuNe

것은 허회장께서 요즘 보시는 책에 나와있는 문제군요 ㅋㅋ 재미있는 문제입니다. - 도현
감사합니다= 선배님들께서도 답을 생각해 보시고, 생각적기에 적어주시면 좋을 것 같은데요 ^^ -아영
  • 상협 의견 - 3가지 경우
    • 관광객 거짓말한 경우 (눈 빨간 스님 아무도 없는경우) : 경우에는 모든 스님들 섬을 떠나게 된다. 왜냐면 모든 스님들은 자신의 눈을 제외한 다른 사람들의 눈 색밖에 볼 수없는데 만약 다른 모든 사람들의 눈 색 갈색라면 자신의 눈 색 빨간 색므로 섬을 떠나야 한다고 생각하게 된다. 빨간색의 눈을 가진 스님 아무도 없기 때문에 모든 스님 렇게 생각하게 된다.
    • 빨간 스님 한분 있는 경우 : 때 자신의 눈 빨간 스님은 다른 모든 사람들의 눈 갈색인것을 보고 자신의 눈 빨갛다는 것을 알수 있고 섬을 떠나게 된다. 그리고 남은 스님들은 빨간 눈의 스님 한분 떠난 것을 보게 된다. 그리고 각자 자신 보는 다른 모든 스님들의 눈 색은 갈색인데, 적어도 한명은 눈 빨간색라고 했기 때문에 자신 볼때 남은 스님들의 눈 모두 갈색더라도 자신 100% 빨간 눈라고 할수 없기 때문에 떠나는 스님은 없게 된다.
    • 빨간 스님 여러명 있는 경우 : 때는 자신의 눈 빨갛더라도 다른 빨간 눈의 스님 있는 것을 볼 수 있기 때문에 자신 100% 빨간 눈라고 확신할 수 없다. 떠나는 스님 없게 된다.

  • 현태 의견 - 2가지 경우
    • 빨간 스님 한분 계실때 - 그 한분 자신임을 알고 떠나시게 된다.
    • 빨간 스님 2분 상일때 - 최소한 한명의 눈 빨간 사람을 보게 되므로 자신 빨갛다는 것을 확신할 수 없기 때문에 아무도 떠나지 않는다.
    • 전체적으로 상협형의 의견과 유사합니다. 글을 읽고 밑을 봤는데 형 미 의견을 올리셨네요. 다른 경우가 관광객 거짓말을 한 경우인데.. 저의 경우는 관광객 거짓말을 할 유가 없다고 생각해서..;;;; 다름 섬에 갔을때 괜시리 '당신중에 한명 상은 눈 빨갛네요.'라고 할 유는 없지 않을까요.

  • 너의 맞는지 직접 프로그래밍해서 실험해 보면 어떨까. --JuNe

답안지

책에 나온 답안지는 렇습니다.
(관광객 한 말 참말라는 전제로 문제를 풉니다.)
{{|
먼저, 관광객 한 말인 "당신들 중에서 적어도 한명은 눈 빨간색로군요" 를 분석 해 보면, 빨간색의 눈을 가진 사람 적어도 1명, 즉 1명 라는 것을 알 수 있다.
그러므로 빨간눈을 가진 스님 아무도 없다는 것을 전제로 하지 않는다.
  • 빨간눈을 가진 스님 한 명일 경우, 빨간색 눈을 가진 스님의 시각에서 빨간눈을 가진 스님 아무도 없다. 그럴경우 자신 빨간눈을 가지고 있다고 알게되고, 그 날 밤 그 스님은 그 섬을 떠나게 된다.
  • 빨간눈을 가진 스님 두 명일 경우, 빨간색 눈을 가진 두 스님들은 각자 자신들의 시각에 한사람의 빨간눈 스님 보일 테므로, 그 날 밤 그 다른 스님 섬을 떠날 것라고 서로 생각하게 된다. 하지만 다음 날 아침 그 스님 떠나지 않은 것을 알게되고, 빨간눈을 가진 각각 스님은 자신도 빨간눈인 것을 알게 된다. 그 날 밤 두 스님 그 섬을 떠나게 된다.
  • 빨간눈을 가진 스님 세명일 경우, 빨간색 눈을 가진 세 스님들 각자 자신의 눈에는 두명의 빨간눈 스님을 보게 될 것다. 스님 첫째날에도 안 떠나고, 둘째날 밤에 그 섬을 떠날 것라 생각할 것다. 하지만 다음날 아침, 떠나지 않은것을 보게되고, 자기자신도 빨간눈구나 라고 알게 된다. 그래서 그 날 밤 세 스님 떠나게 된다.
  • 그러므로 빨간눈을 가진 스님 N명 일 경우, 한명의 스님 그 스님들 떠날 거라고 예상하는 기간은 N-1일고, 자신 만약 빨간색눈을 가졌더라면, N일 째 밤에 N명의 스님 떠나게 됩니다.
|}}
제가 책 읽었던 것을 풀해서 적었는데, 보완할 것 있다면 덧붙일 내용에 적어주세요 ^^
아참, 코드 작성하면 재밌을 것 같아요 ! 코드 만들어봐요 ~~ ^^ - 아영

  • 해가 안가는 부분 : 빨간눈 스님 두명 상일때부터..., 일단 두명일때 - 자신의 시각에서 빨간눈의 스님 한분 보여서 그날밤 그 스님 떠날거라고 서로 생각하는데 안떠났다고 했을때 그때는 빨간눈 스님 최소 2명 된다. 그런데 때 그 빨간눈 스님 2명 된다고 해서 어떻게 빨간눈을 가진 스님은 자신 빨간 눈인것을 알 수 있나.. 해 안감..
    • 빨간눈 스님 최소 두명인데.. 자기 눈에 보는 빨간눈 스님 한명면.. 나머지 한명은 누구일까요?? 자기 자신죠.. 규칙을 잘 지키려면 스님들 머리가 좋아야 겠네요.
      • 움 알겠다. 오해였넹,,
* 관광객 거짓말을 했을때도.. 답 있었는데.............. 어쨌든 문제 진짜 재미있어서 예전에 봤는데 지금까지 기억하는 문제 +_+ --선호

코드

언어 코드

덧붙일 내용

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:34
Processing time 0.0373 sec