이 도전은 이 앱에서 영감을 얻은 것입니다 . 테스트 사례는 해당 앱에서 차용됩니다.
이는 가장 빠른 코드 문제이며, 가장 큰 테스트 사례를 최소한의 시간 안에 해결하는 것이 목표입니다. 사람들이 알고리즘을 더 빠르게 테스트 할 수 있도록 더 작은 테스트 사례가 제공됩니다.
크기가 n x n 인 정사각형 입력 그리드가 제공되며 여기서 9 <= n <= 12 입니다. 이 그리드는 각 영역의 셀에 고유 식별자가있는 n 개의 영역 으로 나뉩니다 ( 여기에서 텍스트 에서 al의 소문자를 사용 하지만 정수 1-12 와 같이 원하는 것을 선택할 수 있습니다 ) .
입력은 다음과 같습니다 (선택적 입력 형식).
aabbbbbcc
adddbbbcc
adeeecccc
adddefgcc
hhhdifggg
hdddifffg
hhhiifffg
hihiifffg
iiiiiiggg
또는 더 쉽게 시각화 할 수 있습니다.
도전:
다음 규칙에 따라이 공원에 2 * n 나무 를 배치 해야합니다.
- 정확히가 있어야한다 2 열당 나무, 그리고 2 행마다 나무
- 모든 지역에는 정확히 2 그루의 나무 가 있어야합니다 .
- 수직, 수평 또는 대각선으로 다른 나무에 인접한 나무는 없습니다.
위의 레이아웃에 대한 해결책은 다음과 같습니다.
참고 : 각 퍼즐에는 하나의 솔루션 만 있습니다.
추가 규칙 :
- 입력 및 출력 형식은 선택 사항입니다
- 예를 들어 출력은 인덱스 목록, 해당 위치에 트리가 있는지를 나타내는 1/0이 있는 그리드 또는 트리가 표시된 입력의 수정 된 버전 일 수 있습니다.
- 실행 시간은 결정적이어야합니다.
- 프로그램은 @isaacg의 컴퓨터에서 1 분 안에 끝나야합니다
- 사양 : CPU 4 개, i5-4300U CPU @ 1.9GHz, 7.5G RAM.
- 프로그램이 1 분마다 두 개의 가장 큰 테스트 사례를 해결할 수없는 경우 두 번째로 큰 시간 ( n = 11 )이 점수가됩니다. 가장 큰 경우를 해결하는 솔루션을 잃게됩니다.
테스트 사례 :
제출물이 이러한 테스트 사례에 맞게 사용자 정의 된 것으로 보이면이 목록을 편집 할 수 있습니다.
12x12 :
--- Input ---
aaaaabccccdd
aaaaabccccdd
aaaaabbbbddd
eeeafffgbghh
eeaafffgbghh
eefffffggghh
eeefijffghhh
iieiijjjjkhh
iiiiijjjjkhk
lljjjjjjjkkk
llllllkkkkkk
llllllkkkkkk
--- Solution ---
aaaaabcccCdD
aaaaaBcCccdd
aAaaabbbbdDd
eeeaffFgBghh
eeAaFffgbghh
eefffffGgGhh
EeefijffghhH
iiEiIjjjjkhh
IiiiijjjjkHk
lljJjJjjjkkk
lLllllkkKkkk
lllLllKkkkkk
11x11 :
--- Input ---
aaaaaaabbcc
adddabbbbcc
edddbbbbbbc
eddddbbbbbb
effffggghhh
effffgghhii
eefffjjhhii
eeeejjjhhii
eeejjjjkiii
jjjjjjkkiii
jjjjjkkkiii
--- Solution ---
aaAaaaabbCc
adddAbBbbcc
eDddbbbbbbC
eddDdBbbbbb
effffggGhHh
eFfffGghhii
eefFfjjhHii
EeeejjjhhiI
eeEjjjjKiii
JjjjJjkkiii
jjjjjkKkIii
10x10
--- Input ---
aaaaabccdd
aeaabbbccd
aeaabfbgcd
eeeaafggcd
eeeaafghcd
eeeiifghcd
ieiiigghcd
iiijighhcd
jjjjighhcd
jjjggghhdd
--- Solution ---
aaAaabccdD
aeaaBbBccd
aEaabfbgcD
eeeaaFgGcd
eEeAafghcd
eeeiiFghCd
IeiIigghcd
iiijigHhCd
JjJjighhcd
jjjgGghHdd
9x9
--- Input ---
aabbbbbcc
adddbbbcc
adeeecccc
adddefgcc
hhhdifggg
hdddifffg
hhhiifffg
hihiifffg
iiiiiiggg
--- Solution ---
aAbBbbbcc
adddbbBcC
adEeEcccc
AdddefgCc
hhhDiFggg
hDddifffG
hhhiIfFfg
HiHiifffg
iiiiiIgGg
--- Input ---
aaabbbccc
aaaabbccc
aaaddbcce
ffddddcce
ffffddeee
fgffdheee
fggfhhhee
iggggheee
iiigggggg
--- Solution ---
aaAbBbccc
AaaabbcCc
aaaDdBcce
fFddddcCe
fffFdDeee
fGffdheeE
fggfHhHee
IggggheeE
iiIgggGgg
There shall be exactly 2 trees per column, and 2 trees per row
.