( 이 게시물과 채팅에 대한 다음 토론 을 바탕으로 -TIO를위한 Dennis에게도 감사드립니다!)
도전
TryItOnline 사이트 에서 현재 사용 가능한 언어 ( 예 : PowerShell)를 선택하십시오 . 실행 버튼을 클릭 할 때 해당 페이지의 출력 이 저장 / 저장 시 "일반 URL"필드의 내용 과 정확히 동일 하도록 해당 페이지 에 해당 언어로 해당 언어로 코드를 작성 하십시오. 대신 버튼을 클릭하십시오.
가상의 예를 들어, aaa
이것이 PowerShell의 솔루션에 대한 코드 라고 가정하십시오 . 그런 다음, 클릭의 결과 실행 과 aaa
의 코드로 https://tio.run/#powershell
출력합니다 https://tio.run/##K8gvTy0qzkjNyfn/PzEx8f9/AA
때 또한 "일반 URL"필드, 저장 / 저장 버튼을 클릭.
채점
결과 URL은 이 문제에 제출합니다. 승자는 바이트 단위로 측정 된 가장 짧은 URL입니다. 위의 예에서 URL https://tio.run/##K8gvTy0qzkjNyfn/PzEx8f9/AA
은 챌린지에 대한 44 바이트 의 제출 입니다. 이 챌린지의 나머지를 수행하는 가장 짧은 URL은 챌린지에서 이기고 브라우니 포인트를 얻습니다 (사용할 수없는 포인트). 가능한 최소 길이가 있다고 가정 할 때 두 개의 제출 길이가 긴 경우 이전 제출이 우선합니다.
URL 생성
이것이 저장소에서 URL 생성 알고리즘의 시작입니다. 메인 코드 영역이 어떻게 취해지고, 추가 요소가 추가되고, 문자열이 수축되고 Base64로 변환 된 다음 ##
앞에 붙는 방법 등을 볼 수 있습니다. 여기서는 자세히 설명하지 않습니다. 문제의 일부는 상기 알고리즘에서 잠재적 인 단점을 이용하기 위해 URL이 어떻게 생성되는지 분석하고 이해하는 것이다.
규칙 / 설명
- 실제 코드는 입력을받지 않고 quine-URL 만 출력으로 생성해야합니다.
- 이것은 URL로 클릭하면됩니다 채워야하는 유일한 텍스트 필드를 의미Code
,Header
,Footer
또는 "컴파일러 신고"필드에 대응Input
및Arguments
필드는 금지하고 사용하지 않는 / 빈 유지해야합니다. 실행 버튼을 클릭하면Output
필드 만 변경 됩니다. 이 문제의 경우Debug
모든 상황에서 필드가 무시됩니다. - 일반적인 quine 규칙은 가능한 한 코드에 적용됩니다 (예를 들어, 코드는을 통해 자체 소스 코드를 읽을 수 없음
.code.tio
). - 제출시 코드 작동 방식에 대한 설명을 포함하십시오.
- "트릭"URL 또는 바로 가기 등을 생성하기 위해 GIO 풀 요청을 TIO 저장소에 제출하여 "치과"퀴니를 제출하는 것은 허용되지 않습니다.
- 마찬가지로 "트릭"URL을 생성하기 위해 특정 언어를 업데이트하기 위해 풀 요청을 제출할 수 없습니다.
- Dennis의 서버에 친절하고이 서버를 남용하거나이 문제를 악용하려는 시도를하지 마십시오.
https://tio.run/##a+a
출력하는 프로그램으로 연결되는 링크 인 경우 https://tio.run/##a+a
, 생성 된 링크가 너무 힘들 saveState
수도 있습니다.https://tio.run/##a@a