이것이 경찰의 실입니다. 강도의 실을 보려면 여기 로 이동 하십시오 .
소개
이 경찰 / 로버 도전에, 경찰은 출력 생산 프로그램을 작성하고 함께 짜다 것입니다. 원하는 출력을 만들기 위해 경찰의 프로그램을 분리하는 것이 강도의 일입니다.
경찰 규칙
경찰은 총 256 바이트를 사용하여 2 ~ 8 (포함) 프로그램 사이에 쓸 수 있으며 모두 출력을 생성 해야합니다 . 작성된 모든 프로그램은 동일한 언어로되어 있어야합니다. 경찰은 도둑들이 프로그램이 무엇인지 파악하기 어렵게하기 위해 그들의 프로그램을 "결합"할 것이다.
이제 interweaving에 대한 설명입니다. 다른 프로그램을 나타내는 문자열을 고려하십시오. interweaving 과정은 프로그램의 첫 문자를 반복적으로 뽑아서 프로그램의 문자가 남지 않을 때까지 새 문자열의 끝까지 연결하는 과정입니다. 예를 들어, 두 개의 프로그램이 lionand TIGER인 경우 가능한 인터 웨빙은 TIliGoEnR입니다. 그러나 프로그램을 어떤 식 으로든 스크램블 할 수 RoITEnlGi없으므로 허용되지 않습니다.
하나의 프로그램을 제외한 모든 프로그램의 문자가 interweaving의 결과에서 제거되면 나머지 프로그램은 그대로 표시됩니다. 에서 문자 TIGER를 제거하면 TIliGoEnR결과가 다음과 같습니다 lion.
모든 경찰의 프로그램과 출력에는 인쇄 가능한 ASCII 문자 (20-7E)와 줄 바꿈 만 포함되어야합니다 . 프로그램에는 오류가 없어야하며 합리적인 시스템에서 10 초 안에 실행되어야합니다. 제출할 때는 어딘가에 무료로 통역사가 있어야합니다. 해싱 및 기타 형태의 암호화와 마찬가지로 제출에 주석을 추가 할 수 없습니다. 빈 프로그램은 (죄송 허용되지 않습니다 스턱 ).
경찰은 짜여진 코드, 언어, 사용 된 다른 프로그램의 수 및 각 프로그램의 출력을 게시합니다. CJam 스크립트 를 작성 하여 프로그램을 자동으로 섞어 주신 Martin에게 감사 합니다.
프로그램은 게시일로부터 1 주일이 지나면 안전하다고 간주됩니다. 이 시점에서 경찰은 포인트를 받기 위해 개별 프로그램을 게시해야합니다.
채점
안전한 제출을 채점 할 때 함께 추가되는 두 가지 구성 요소가 있습니다.
- 사용 된 프로그램 수의 제곱으로 올린 수량을 256으로 나눈 값.
- 인터 웨빙의 바이트 수를 2의 가장 가까운 거듭 제곱으로 올림 하고 256으로 나눕니다.
예를 들어, 항목 TIliGoEnR(9 바이트)이 안전하면 256 / 2 ^ 2 + 256 / 16 = 80 점을받습니다.
경찰의 제출물에 금이 가면 경찰은 16 점을 잃습니다. 경찰은 제출물에 금이 갔음을 표시해야합니다.
경찰의 도전 승자는 사람들이 참여하기에 충분한 시간이 지난 후 가장 많은 점수를 얻은 사람이 될 것입니다.
리더 보드
이 질문 에서 intrepidcoder에 의해 조정 된 작업이 진행 중입니다 .
답변이 표시되도록하려면 정확한 마크 다운 템플릿을 사용하여 헤드 라인으로 답변을 시작하십시오 .
# Language Name, N programs, M bytes; Score ###/### (if safe/cracked)
세미콜론 뒤의 모든 것은 무시되므로 점수를 거기에 넣을 수 있습니다.
제출이 안전한 경우 다음과 같은 헤더를 넣으십시오.
# Language Name, safe, N programs, M bytes; Score ###
금이 간 경우 다음과 같은 헤더를 넣으십시오.
# Language Name, [cracked](link-to-crack), N programs, M bytes; Score -16
|||예 :)를 선택한 다음 N코드에서 구분 기호가 포함 된 문자열로 코드 를 바꿀 수 있습니다 ( 예 :) "|||". (@Eridan 도전이 포함 주시기 바랍니다.)