Bu zorluk Flow Free'den kaynaklanmaktadır. Çevrimiçi bir sürümü burada bulabilirsiniz: http://www.moh97.us/
Size bir bulmaca verilecek 1
ve bulmacanın çözülebilir olması veya dönmemesi durumunda geri dönmelisiniz 0
.
Bir bulmacayı çözmek için oyuncu, her boş kareyi tam olarak bir kez kullanarak her bir sayı çiftini bağlamak için bir yol oluşturmalıdır.
Karenin boyutlarında ve ardından her noktanın x, y, c (burada c, rengi temsil eden bir sayıdır) olarak geçirilirsiniz. Örneğin:
Eğer 5,5
0,0,0
3,0,1
1,1,2
1,2,2
4,2,1
4,4,0
size geçirildi, bu temsil edecek:
0..1.
.2...
.2..1
....0
Ve dönmelidir 1.
İşte bazı test problemleri:
5,2
2,0,1
0,1,2
4,1,2
temsil eder:
..1..
2...2
ve çözülemez çünkü sadece 1 tane var 1
.
4,2
0,0,0
3,0,0
0,1,0
3,1,0
temsil eder:
0..0
0..0
ve çözülemez çünkü 2 0
saniyeden fazla içerir .
8,6
0,0,1
7,5,1
temsil eder:
1.......
........
........
........
........
.......1
ve çözülemez (her kareyi kullanamayacağınız için).
2,5
0,0,1
2,0,6
4,0,6
0,1,4
3,1,4
4,1,1
temsil eder:
1.6.6
4..41
ve çözülemez çünkü 1'leri bağlayamazsınız.
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
temsil eder:
.4...1
43...3
2..2.1
ve çözülemez çünkü iki yol mutlaka kesişmek zorunda olduğu için 1'leri (veya 3'leri) bağlayamazsınız.
5,2
0,0,1
3,0,1
0,1,3
4,1,1
temsil eder:
1..1.
3...3
ve çözülemez çünkü bir yol oluştururken tüm kareleri kullanamazsınız.
2,2
0,0,0
1,1,0
temsil eder:
1.
.1
ve çözülemez çünkü burada tüm kareleri kullanamazsınız
İşte bazı testler:
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
dönmeli 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
dönmeli 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 döndürmeli
Bu bir kod golf ve standart kurallar geçerlidir.
1
bunlardan herhangi biri tüm hücreleri ziyaret edip tüm terminalleri bağlarsa geri dönerek kolayca belirlenir . Açıkçası bu yaklaşım, en küçükN
(boş hücre sayısı) dışında hiçbir şey için makul bir sürede tamamlanmayacaktır , ancak yine de algoritmanın sonunda doğru değeri döndüreceği konusunda matematiksel bir garantimiz var.