경고 : 이 도전에는 The Monkey of Secret의 스포일러가 포함되어 있습니다.
게임이 끝날 무렵, 당신은 마술처럼 보존 된 네비게이터의 카타콤을 이끌고 있습니다.
안구 목걸이가 필요하지만 머리는 당신에게주는 것을 꺼려합니다. 그것을 얻는 한 가지 방법은 계속 구걸하는 것입니다.
Guybrush : 목걸이 좀 갖다 주 시겠어요?
헤드 : 아니요, 그러나 정중하게 요청 해 주셔서 감사합니다.
Guybrush : 오, pleeeeease?
머리 : 당신이 원하는 모든 것을 구걸 할 수 있지만 가질 수는 없습니다.
Guybrush : 제발 제발?
머리 : 당신이 원하는 모든 것을 구걸 할 수 있지만 가질 수는 없습니다.
Guybrush : 꽤 예쁘세요?
머리 : 당신이 원하는 모든 것을 구걸 할 수 있지만 가질 수는 없습니다.
Guybrush : 설탕을 뿌려 주세요.
머리 : 아, 알았어. 넌 그것을 가질 수있어. 어깨가 없다면 목걸이가 뭐에요?
도전
위의 대화를 인쇄하는 전체 프로그램을 작성하십시오. 문제는 프로그램이 호출 될 때마다 두 줄만 인쇄해야한다는 것입니다 (하나는 Guybrush의 탄원과 헤드의 응답). 예를 들어 제출물이 Python으로 작성된 경우 사용법은 다음과 같습니다.
$> python please.py
Guybrush: May I please have that necklace?
Head: No, but thanks for asking so politely.
$> python please.py
Guybrush: Oh come on, pleeeeease?
Head: You can beg all you want, but you can't have it.
$> python please.py
Guybrush: Pretty please?
Head: You can beg all you want, but you can't have it.
$> python please.py
Guybrush: Pretty PRETTY please?
Head: You can beg all you want, but you can't have it.
$> python please.py
Guybrush: Pretty please with sugar on top?
Head: Oh, all right, you big baby. You can have it. Hey, what good's a necklace if you don't have shoulders?
프로그램을 5 번 이상 호출하면 정의되지 않은 동작이 발생할 수 있으므로 루프, 마지막 두 줄을 계속 인쇄하거나 5 번째 호출 후 프로그램이 중단 될 수 있습니다.
작업 디렉토리의 파일에 쓰거나 프로그램 자체의 소스 코드를 수정하여 호출을 추적 할 수 있습니다. 후자의 경우 프로그램이 자체 파일 이름에 의존해서는 안됩니다. 전자의 경우 프로그램의 파일 이름이 프로그램이 의존하는 파일 이름과 충돌하지 않는다고 가정 할 수 있습니다.
REPL과 유사한 환경을 가정하거나 호출 사이에 데이터가 RAM에 보관되어서는 안됩니다. 예를 들어 Mathematica에서 대답하면 호출 사이에서 커널을 종료한다고 가정해야합니다.
이것은 코드 골프이며, 가장 짧은 대답 (바이트)이 이깁니다. 프로그램 이 첫 번째 호출 전에 존재하는 추가 파일에 의존하는 경우 해당 이름과 내용을 바이트 수에 추가하십시오.
node please.js
5 개의 다른 출력 을 생성하여 5 번 호출 할 수 있습니다 .