게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

hw5-2 보물섬 관련 질문입니다.

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2006)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
이준희



가입: 2006년 9월 18일
올린 글: 43

올리기올려짐: 2006년11월9일 19:05    주제: hw5-2 보물섬 관련 질문입니다. 인용과 함께 답변

예전에 즐거운 고민 문제에서도 삽질로 고생을 꽤나 했지만...

.....이번것도 이해하기가 참 어렵네요-_-;;

대충 감이 잡힐 듯 하면서도 실타래를 풀어나가다보면 다시 엉켜버리는 느낌이..ㅠㅠ

다른 것은 다 둘째치고, 열쇠의 조건에서 (End Name("x"))의 위치에 있을때 '현재 위치에서 x를 열어줄 열쇠모양'이라는 말의 의미를 정확히 모르겠습니다. '지도 탐색의 결과 x를 열기 위해 필요한 열쇠의 모양'으로 이해하면 맞는 건가요?

또, 안내판이 있거나 갈림길이 있는 곳에서 '열쇠를 암시한다'는 내용은, 단순히 '이 지역의 특성을 드러내는' 하나의 symbol로서 열쇠의 모양을 나타내는 것인가요(안내판이나 갈림길에서 sub map에서 암시하는 열쇠를 다시 활용하므로), 아니면 '이 곳을 통과해 가서 보물상자들을 발견했을 때 그것을 열기 위한 열쇠란 이러이러한 것이다'인건가요?

마지막으로... 문제의 예제로 주어진 Guide("x" (End(Name "x")))꼴의 경우, {Bar}가 나오는 명확한 근거를 잘 모르겠습니다. x라는 이름의 보물상자를 만났을 때 필요한 열쇠가 Bar가 되는 경우에 대한 암시적인 힌트가 문제 내에 숨어있는 것일까요?

아시는 분은 답변 부탁드립니다. 좋은 하루 되세요. ^_^
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
이준희



가입: 2006년 9월 18일
올린 글: 43

올리기올려짐: 2006년11월9일 19:09    주제: 인용과 함께 답변

아, 한가지 추가하자면, Guide("x", Guide("y", Branch(End(Name "x"), End(Name "y"))))와 같은 꼴의 지도도 허용되는 건가요? 즉, 안내판이 나왔을 때 그 뒤에 다른 이름의 보물상자에 대한 안내판이 또 나오는 것이 허용되는지 궁금합니다.
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
박대준



가입: 2005년 10월 7일
올린 글: 245

올리기올려짐: 2006년11월10일 2:22    주제: 인용과 함께 답변

표의 내용이 말하고자 하는 것은 다음과 같습니다.

성공적으로 탐험할 수 있는 모든 지도들의 시작점은 한 종류 이상의 열쇠모양을 암시하고 있습니다.
- 이 때, 별 모양의 지도의 시작점은 항상 Bar 모양의 열쇠를 암시합니다.
- 또한, 보물 상자 모양의 지도의 시작점은 임의의 모양의 열쇠를 암시합니다.
- 나머지 두 종류(안내판+지도, 갈림길)의 지도는 자신의 부분 지도(sub map)의 시작점이 암시하는 열쇠 모양과 어떠어떠한 조건을 충족했을 때, 어떠한 열쇠모양을 가집니다.

위와 같이 서로 얽혀있는 조건들을 모두 충족할 수 있도록, 주어진 지도의 각 부분 지도(sub map)마다 그 시작점이 암시하는 열쇠모양을 찾으면 됩니다.
그 후, 주어진 지도의 각 부분 지도 중, 보물 상자 모양 지도들의 시작점이 암시하는 열쇠 모양을 모두 찾아내는 것이 숙제의 목표입니다.
이 때, 찾아낸 열쇠 모양들은 위 조건을 만족시키는 최소의 것이어야 합니다.


이준희 씀:
다른 것은 다 둘째치고, 열쇠의 조건에서 (End Name("x"))의 위치에 있을때 '현재 위치에서 x를 열어줄 열쇠모양'이라는 말의 의미를 정확히 모르겠습니다. '지도 탐색의 결과 x를 열기 위해 필요한 열쇠의 모양'으로 이해하면 맞는 건가요?

위에서 언급했듯이, 주어진 지도가 달랑 보물 상자 모양의 지도(End Name "x")뿐이라면, 이 지도의 시작점이 암시하는 열쇠모양은 어떠한 것을 택해도 상관없습니다.
코드:
-, (-,-), (-,(-,-)), ...

하지만, 여러분은 이 중 가장 작은 것을 찾아야 하기 때문에,
코드:
-
를 리턴해야 합니다.


이준희 씀:
마지막으로... 문제의 예제로 주어진 Guide("x" (End(Name "x")))꼴의 경우, {Bar}가 나오는 명확한 근거를 잘 모르겠습니다. x라는 이름의 보물상자를 만났을 때 필요한 열쇠가 Bar가 되는 경우에 대한 암시적인 힌트가 문제 내에 숨어있는 것일까요?

이 것 역시, 위에서 언급했던 조건들을 가지고 풀어봅시다.
(설명의 편의를 위해 Guide("x", e)를 x.e라고 쓰겠습니다.)
x.x의 시작점이 암시하는 열쇠의 모양은 다음과 같습니다. (숙제 명세의 표에서 e1을 x로만 변환해서 그대로 옮긴 것입니다.)
인용:
x 안에서 만날 보물 상자 x 의 열쇠가 a 이고, x 의 시작점이 암시하는 열쇠 모양을 b 라고 하면, 현재 위치가 암시하는 열쇠 모양은 (a,b) 이다.

일단, x 안에서 만날 보물 상자 x 의 열쇠가 a 라고 했으므로, 지도 x 의 시작점이 암시하는 열쇠 모양은 a 입니다.
그런데, 지도 x 의 시작점이 암시하는 열쇠 모양은 b 라고 했으므로, a 와 b 는 같습니다.
따라서 현재 위치(지도 x.x 의 시작점)가 암시하는 열쇠 모양은 (a,a) 입니다.
(이 정보는 이 문제의 답을 내는데는 필요없지만, 이 지도가 어떤 큰 지도의 부분 지도로 쓰였다면, 나머지 부분을 탐험하는데 필요할지도 모릅니다.)
이 때, 지도 x.x 에는 보물 상자가 단 1개(x) 있습니다. 그리고 x 를 여는데 필요한 열쇠 모양은 x 의 시작점이 암시하는 열쇠 모양 a 입니다.
그런데, 이 문제에서 주어진 지도에는 a 에 대한 더 이상의 어떤 조건도 없습니다.
따라서 a 는 어떤 모양의 열쇠도 될 수 있지만, 최소의 모양을 찾아야 하기 때문에, - 가 되는 것입니다.


이준희 씀:
아, 한가지 추가하자면, Guide("x", Guide("y", Branch(End(Name "x"), End(Name "y"))))와 같은 꼴의 지도도 허용되는 건가요? 즉, 안내판이 나왔을 때 그 뒤에 다른 이름의 보물상자에 대한 안내판이 또 나오는 것이 허용되는지 궁금합니다.

네, 물론 허용됩니다. (단, 모든 안내판은 서로 다르다는 것을 명심하시기 바랍니다.)
언급하신 지도, x.y.x|y 를 성공적으로 탐험하는 것은 가능하며, 그 때 필요한 최소의 열쇠 모양들의 집합은 {-,(-,-)}입니다.
참고로, 각각의 부분 지도의 시작점이 암시하는 최소의 열쇠 모양을 그려본다면, 다음과 같습니다.
코드:
x.y.x|y : ((-,-),(-,-))
y.x|y : (-,-)
x|y : -
x : (-,-)
y : -

이와 같은 방법으로, 나머지 예제들도 천천히 따져보시면, 쉽게 이해가 되실겁니다.


덧붙여,
문제가 꽤나 어렵습니다. 사실 이해하는데도 약간 시간이 걸립니다.
예제를 몇개 만들어서 직접 해 보시는 것이 이해하는데 가장 좋을 것 같으니,
서로 서로 예제를 만들어보시고 토의하시고 질문하셔서 도움을 얻길 바랍니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이준희



가입: 2006년 9월 18일
올린 글: 43

올리기올려짐: 2006년11월10일 10:07    주제: 인용과 함께 답변

좋은 답변 감사드립니다. 열심히 해봐야겠네요 ^_^
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2006) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay