도전
다음과 같이 그리드의 초기 위치 (항상 5x5)를 입력으로 지정합니다.
-ABCD
-A---
---C-
---BD
--E-E
-공백을 모두 제거하여 문자 (동일한 문자를 모두 연결)를 연결해야 합니다. 편지는 항상있을 것 A,B,C,D and E입니다.
모든 문자 쌍은 직각으로 구부러 질 수있는 단일 비 분지 선으로 연결되어야합니다 (선을 나타내는 데 동일한 문자를 사용함).
입력은 각각의 시작 문자가 정확히 2 번이어야하며 항상 모든 시작 문자 AE를 갖습니다.
입력은 stdin 또는 일부 함수에 대한 인수로 하나의 유일한 문자열 또는 코딩 언어에 가장 편리한 방법 인 배열 / matriz / char 목록에서 읽을 수 있습니다.
이것은 바이트 단위의 코드 골프 최단 코드 이기 때문에 승리합니다!
예
각 문제에 대한 해결책은 하나뿐이 아니라 규칙은 모두에 적용됩니다 (빈 공간과 구분 된 문자 없음). 그리고 입력에는 적어도 하나의 올바른 출력이 보장됩니다.
문자 A를 연결해 봅시다 :
AABCD
AA---
AA-C-
AA-BD
AAE-E
이제 문자 B를 연결하십시오.
AABCD
AAB--
AABC-
AABBD
AAE-E
이제 문자 C를 연결하십시오.
AABCD
AABC-
AABC-
AABBD
AAE-E
이제 문자 D를 연결하십시오.
AABCD
AABCD
AABCD
AABBD
AAE-E
그리고 마지막으로 문자 E :
AABCD
AABCD
AABCD
AABBD
AAEEE
다른 샘플
input:
E--E-
BB-C-
AD---
---C-
AD---
output:
EEEEE
BBECE
ADECE
ADECE
ADEEE
input:
A----
---B-
-C-C-
-D-D-
BE-EA
output:
AAAAA
BBBBA
BCCCA
BDDDA
BEEEA
이 도전은 정확한 입력을 보장하기 때문에 @ Sp3000은 dup이 아닙니다.
—
Nathan Merrill
입력은 각 시작 문자를 정확히 2 번 갖도록 보장됩니까? 항상 모든 시작 문자가
—
Ton Hospel
A-E있습니까?
@NathanMerrill은 약간의 차이가있는 것 같습니다. 용해성 검사가 코드의 대부분을 차지할 것이라고 상상할 수 없습니다.
—
Martin Ender
내 도전 MartinBüttner @, 해결의 가능성에 대한 검사 입니다 전혀 필요 연결 문제는. 두 가지 과제는 비슷하지만 내 생각에는 크게 다릅니다.
—
Nathan Merrill
이와 같은 질문에 가장 좋아하는 기술은 임의의 숫자를 사용하여 역 추적을 피하고 솔루션에 도달하면 중지하는 위치를 채우는 것입니다. 솔루션이 보장되는 경우에만 작동합니다. 그렇지 않으면 프로그램이 영원히 실행될 수 있습니다 (솔루션이 보장되는 경우 긴 런타임이 기하 급수적으로 더 길어질 가능성이 없도록 코드를 작성할 수 있음). 이 기술에 대한 질문 은 매우 다르다
—
Ton Hospel