이것이 경찰의 실입니다. 강도의 실을 보려면 여기 로 이동 하십시오 .
소개
이 경찰 / 로버 도전에, 경찰은 출력 생산 프로그램을 작성하고 함께 짜다 것입니다. 원하는 출력을 만들기 위해 경찰의 프로그램을 분리하는 것이 강도의 일입니다.
경찰 규칙
경찰은 총 256 바이트를 사용하여 2 ~ 8 (포함) 프로그램 사이에 쓸 수 있으며 모두 출력을 생성 해야합니다 . 작성된 모든 프로그램은 동일한 언어로되어 있어야합니다. 경찰은 도둑들이 프로그램이 무엇인지 파악하기 어렵게하기 위해 그들의 프로그램을 "결합"할 것이다.
이제 interweaving에 대한 설명입니다. 다른 프로그램을 나타내는 문자열을 고려하십시오. interweaving 과정은 프로그램의 첫 문자를 반복적으로 뽑아서 프로그램의 문자가 남지 않을 때까지 새 문자열의 끝까지 연결하는 과정입니다. 예를 들어, 두 개의 프로그램이 lion
and 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 도전이 포함 주시기 바랍니다.)