빨리! 블랙홀을 탈출하십시오!


28

올해는 87,539,319 년이되었으며 독방 우주 유영은 이제 흔한 일이며, 많은 사람들이 스스로 우주로 여행하며, 등 뒤에 제트 팩만으로 추진하며 개인용 컴퓨터와 키보드로 코스를 프로그래밍합니다.

당신은 그런 사람입니다. 당신은 아름답고 평화로운 우주 유영을 나갔습니다. 갑자기 갑자기 블랙홀의 중력에 휩싸였습니다!

이 블랙홀을 향해 더 빨리 나선형으로 빠져 나 가면서 생존 할 수있는 한 가지 가능성은 조난 메시지를 방송하고 근처의 배가 당신을 구하기를 희망한다는 것을 깨닫게됩니다.

따라서 키보드를 분리하고 프로그램을 입력하기 시작합니다.

프로그램은 모든 언어로 가능하며 HELP!표준 출력 으로 인쇄해야합니다 (PC는 모든 표준 출력 을 공간 깊이까지 브로드 캐스트합니다).

그러나 블랙홀에 가까워지면 키보드가 천천히 찢어집니다!

아래와 같은 QWERTY 키보드를 사용하고 있고 블랙홀이 왼쪽에 있다고 가정하십시오.

쿼티 키보드 레이아웃

왼쪽과 오른쪽 이동은 서로 다른 키입니다.

키를 누를 때마다 키보드의 가장 왼쪽 줄 (가장 왼쪽의 빨간색 선으로 덮힌 키)이 찢어져 블랙홀에 빠집니다!

그래서, 첫 번째의 키는 키보드의 키가 될 수 있지만,의 다음 이후 아무도에서 가장 왼쪽에 Tab , Caps, Shift, Ctrl또는 `키를 사용할 수있다 전혀 . (r-shift 및 r-ctrl은 계속 사용할 수 있습니다)

다음의 키를 후, 키 1, Q, A, Z그리고 Alt심연에 떨어져 있던되며, 이후 사용할 수 없습니다. 그 후, 당신은 잃을 Space, X, S, W, 2등.

분명히, 당신은 가능한 한 빨리 프로그램을 완성하여 구조 시간을 늘려야합니다. 따라서 이것은 코드 골프이며 키 프레스에서 가장 짧은 프로그램 승리합니다!

각 답변은 키 누르기 목록을 제공해야하므로 내 답변 이이 프로그램 인 경우 (언어 squardibblyack)

!HELP\.

키리스트는 다음과 같습니다.

Shift!HELP 교대 근무 \.

길이 : 8

이 도전이 너무 어려울까 걱정되지만 제출 된 답변의 종류를보고 싶습니다!


13
창의성을 발휘하기에는 너무 제한적이라고 느끼기 때문에 이것을 하향 조정하고 있습니다.
isaacg

4
파이썬 쉘 print을 STDOUT으로 사용하지 않고 사용한다고 가정 할 수 있습니까 ?
user80551

3
키보드에 숫자 패드가 있으면 어떻게합니까?
mbomb007

4
화살표 키를 사용하면 약간 더 나을 수 있습니다.
user80551

6
키가 사라 졌는데도 뚜껑 잠금을 눌렀 는데도 여전히 잠금이 유효합니까?
Josh Caswell

답변:


42

CJam, 11 번의 키 입력

코드는

"HELP*")9-

키리스트는

Shift"HELP*") 교대 근무 9-

다음은 그 모습을 보여주는 데모입니다.

여기에 이미지 설명을 입력하십시오

다음은 코드 작동 방식입니다.

"HELP*"              "This puts the string HELP* on stack";
       )             "This takes out the last character of the string and puts it
                      on the stack as a character";
        9-           "This simply reduces 9 from the ASCII code of * character
                      present on the stack which makes it an !";
                     "CJam automatically prints everything that is on stack";

여기 코드를 사용해보십시오


2
별표를 사용하는 것은 꽤 영리했습니다! 나는 그런 생각을하지 않았다.
theonlygusti

2
음, 저는 GolfScript에서 이것을 할 수 없었습니다. 조금 너무 깁니다. 정수에서 아스키로 변환하는 것은 비효율적입니다. "HELP*")9-[]+''+. 마지막 4 개를 입력 할 수 없습니다.
mbomb007

3
난 그냥 ... CJam는 대답을 줄 알았습니다
제리 예레미야에게

9
따라서 세계에서 가장 미래를 보장하는 언어 중 하나는 CJam입니다.
Fors

5
당신이 때 때 손가락을 봐 E, 그것은 심연에 걸릴 것 같습니다!
Canadian Luke REINSTATE MONICA

3

rs , 10 키 스트로크 (사용자가 Nano를 사용한다고 가정)

또는 Shift텍스트를 선택하지 않는 동등한 편집기 .

이것은 실제로 프로그래밍 언어는 아니지만 sedCode Golf에서 rs사용할 수 있으면 사용할 수 있습니다.

Right Shift ! Left E Left H Right L P Enter

HELP!

빈 문자열을 "HELP!"로 바꾸면 화면에 효과적으로 인쇄됩니다. sed 스크립트와 거의 동일합니다.

s/^/HELP!/

멋진 부분은 구분 기호 ( )를 찾을 수없는 대체 패턴 앞에 rs자동으로 ^/배치 /된다는 것입니다. 들여 쓰기 코드에 편리합니다.


당신 Enter은 그것도 뇌졸중 이라는 것을 잊 습니다. 10 스트로크.
vapcguy

1
@vapcguy 맞아. 결정된.
kirbyfan64sos

-3

나는이이 모든 스크립트에서 할 수있는 가장 빠른 랜덤의 11 Pyth에, 믿는 모든 언어는 "P"또는 따옴표 또는 별표이나 뭐, 같은 단어를 몇 가지 문자를 요구하는 것입니다 때문에 HELP!, 그것은 E갈 것입니다 빠른, 커서 등을 이동하기위한 별도의 키 입력을 의미하기 전에 E에 넣어 H그가 발견과 같은 위해 앞으로 다시 다음, LP.

당신이 좋아하는 명령 단어를 필요로 무엇이든이있는 경우 disp또는 echo, 당신은이 뜯겨되기 전에, 먼저 공간 작업을 수행 할 수있는 것 Shift!그 사용, Home워드를 시작하는 키 및 랜덤에 기재 한 바와 같이 화살표 키를 HELP. 그러나 당신은 당신이 그 일을하기에는 너무 빨리 필요한 열쇠를 잃어 버리거나 잃을 때까지 당신의 길을 혼란스럽게 할 것입니다. 최대 14 자이며 마지막 글자는 \또는 이라고 가정합니다 |. 해야 할 10 가지가 있습니다 HELP!:

SHIFT ! HOME E LT ARROW H RT ARROW L P ENTER

정의하는 "*또는 P받는 직전 누르면 얻을 것이다 H. 11이 가장 빠릅니다. 또는 느낌표를 생략하고 모든 것을 대문자로 입력하고 입력 할 기호가없는 경우 9입니다.

그러나 아니, 나, 87,539,319 년의 인터넷 역사가이자 블랙홀은 물론 외계인과 괴물 유성우의 편집증이었고, 나는 그것을 해결하지 않을 것입니다. 우주 여행을 떠나기 전에, 나는이 기사를 통해 그 연구에 대해 고마움을 알았을 것입니다. 이미 "HELP!"가있는 텍스트 파일을로드합니다. 그 안에 최신 추적 위성 데이터를 사용하여 내 좌표 위치를 기록 할 수있는 프로그램이 있습니다. 내가 "hlp.c"라고 부르는 프로그램은 다음과 같습니다.

7 개의 키 입력 :

c Home h l p . Enter

나는 내 파일 이름을 짧게 만들 수 알지만 아무도 입력하여 실수로 자신의 위치를 방송하고 싶어 H하고 Enter프로그램도 당국에 경고 특히, (약간의 응급 상황이 없을 때 911를 호출처럼?) 이렇게하자 3 글자 파일 이름을 사용하면 .최소 1 자 이상의 파일 확장자가 있어야한다고 가정 합니다. 또한 이름 hlp대신 이름을 지정하면 help블랙홀에서 죽을 때 불쾌한 내장 도움말 기능을 사용하지 않아도됩니다. 나는 .c그냥함으로써 타이핑을 생략 할 수도 있다는 것을 알고 h l p Enter있지만, 이런 식으로 나는 그 더러운 Please supply file extension또는Cannot find hlp블랙홀에 빠질 때 오류가 발생합니다. "쓰레기 수거, 쓰레기 수거"는 앞으로도 여전히 표준이 될 것입니다.

내 그래픽은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

유일한 "후진"이 c먼저 입력되므로 기억하기 쉽습니다 . 나머지는 파일 이름과 같습니다.


2
우선, 이미 코드가 들어있는 프로그램을 실행하는 경우 여러 표준 허점 의 조합으로 간주 될 수 있습니다 . 둘째, 이것은 코드 골프이므로 코드가 이미 파일에 있다고 가정하지 않고 실제 코드를 제공해야합니다 hlp.c. 셋째, 프로그램을 실행하지 않고 프로그램의 키 입력 목록을 제공해야합니다. 넷째, C프로그램 ...
Optimizer

1
... 그런 식으로 실행하지 마십시오. 먼저 컴파일하고 실행해야합니다. 따라서 컴파일 된 코드 파일을 실행하려면 최소한 help.exe(또는 help.out) 해야 합니다. 마지막으로 규칙을 구부리고 허점을 너무 많이 사용하는 경우 파일 이름이 h.c?
Optimizer

.c파일 의 의도 는 컴파일러를 필요로하는 실제 C 코드가 아니라 CSCRIPT 일 수 있다는 것입니다. 데이 h.c이름 만 1 문자로, 다른 파일의 이름을 입력하려고 할 때 실수로 대신 다른 파일의 호출 될 것을 의미 할 수 있었다 - 나는 이미 설명했다. 에 어떤 코드였습니다 .c, 파일 그것은 여부 Console.Log("HELP!"), Console.WriteLine("HELP!")등, 그것은 또한이 수정을 조정 얻기 위해 위성과 인터페이스에 코드를 포함 거라고, 특히 이후 크게 관련이 없다 - 나는 미래에 확신 뭔가를 개방합니다 출처.
vapcguy

이 게시물에 대한 나의 요점은 파일 이름이나 규칙의 범위를 벗어난 것이 HELP!내가 언급 한 것처럼 10을 필요로하기 때문에 11 번의 키 스트로크, btw를 이길 수있는 유일한 방법이 될 것임을 나타 냈습니다. 대문자로 바꾸고 Shift를 사용하는 것이 중요하지 않고 HELP느낌표 또는 Kirby의 경우와 같이 키 전후에 문자가 필요하지 않은 경우 Kirby보다 9보다 작 습니다. p또는 같은 *프로그램을 시작합니다.
vapcguy

그리고 help.exehelp.out블랙홀의 떨어져 키의 리핑과 함께 작동하지 않을 것입니다. 은 e시간에 의해 사라질 것 exe와서, 그리고는 t입력 할 때 사라 out. 당신은 입력 수 tout, 먼저 다음 홈을 눌러 및 입력 HELP하면, 왜 않을 것 (1 개) 문자로 확장을 계속 할 수 있다면 부분 만?
vapcguy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.