이 과제는 Flow Free를 기반으로합니다. 온라인 버전은 http://www.moh97.us/에서 확인할 수 있습니다 .
퍼즐이 주어지며 1
퍼즐을 풀 수 있거나 0
그렇지 않은 경우 반환해야합니다 .
퍼즐을 풀기 위해 플레이어는 모든 빈 사각형을 정확히 한 번 사용하여 각 숫자 쌍을 연결하는 경로를 만들어야합니다.
정사각형의 치수로 전달 된 다음 각 점의 x, y, c (여기서 c는 색상을 나타내는 숫자)로 전달됩니다. 예를 들면 다음과 같습니다.
5,5
0,0,0
3,0,1
1,1,2
1,2,2
4,2,1
4,4,0
전달 된 경우 다음을 나타냅니다.
0..1.
.2...
.2..1
....0
그리고 1을 반환해야합니다.
다음은 몇 가지 테스트 문제입니다.
5,2
2,0,1
0,1,2
4,1,2
나타냅니다 :
..1..
2...2
1 만 있기 때문에 해결할 수 없습니다 1
.
4,2
0,0,0
3,0,0
0,1,0
3,1,0
나타냅니다 :
0..0
0..0
2 0
초 이상을 포함하므로 해결할 수 없습니다 .
8,6
0,0,1
7,5,1
나타냅니다 :
1.......
........
........
........
........
.......1
모든 사각형을 사용할 수 없으므로 해결할 수 없습니다.
2,5
0,0,1
2,0,6
4,0,6
0,1,4
3,1,4
4,1,1
나타냅니다 :
1.6.6
4..41
1을 연결할 수 없기 때문에 해결할 수 없습니다.
6,3
1,0,4
5,0,1
0,1,4
1,1,3
5,1,3
0,2,2
3,2,2
5,2,1
나타냅니다 :
.4...1
43...3
2..2.1
두 경로가 반드시 교차해야하기 때문에 1 (또는 3)을 연결할 수 없기 때문에 해결할 수 없습니다.
5,2
0,0,1
3,0,1
0,1,3
4,1,1
나타냅니다 :
1..1.
3...3
경로를 만드는 데 모든 사각형을 사용할 수 없기 때문에 해결할 수 없습니다.
2,2
0,0,0
1,1,0
나타냅니다 :
1.
.1
여기에 모든 사각형을 사용할 수 없기 때문에 해결할 수 없습니다
몇 가지 테스트가 더 있습니다 :
5,5
0,3,0
0,4,1
1,2,2
1,3,1
2,0,0
3,0,4
3,1,2
3,3,5
3,4,4
4,4,5
1을 반환해야합니다
13,13
1,1,0
9,1,1
10,1,2
11,1,3
1,2,4
2,2,5
5,2,6
7,2,7
3,3,0
5,4,6
6,4,1
9,6,3
4,7,8
5,8,9
12,8,8
11,9,10
2,10,4
4,10,2
9,10,5
11,10,7
1,11,9
12,12,10
1을 반환해야합니다
7,7
0,0,0
0,1,1
1,1,2
2,1,3
4,2,4
0,3,1
5,3,3
0,4,4
2,4,5
5,4,2
0,5,0
1,5,5
3,5,6
3,7,6
0을 반환해야합니다
이것은 코드 골프이며 표준 규칙이 적용됩니다.
1
중 하나가 모든 셀을 방문하고 모든 터미널을 연결하면 리턴하여 쉽게 솔버 션을 판별합니다 . 분명히이 방법은 가장 작은 것N
(빈 셀 수)을 제외 하고는 적당한 시간 내에 완료되지는 않지만 알고리즘이 결국 올바른 값을 반환한다는 수학적 보장은 여전히 있습니다.