Tantangan ini didasarkan pada Flow Free. Versi online dapat ditemukan di sini: http://www.moh97.us/
Anda akan diberikan puzzle, dan Anda harus kembali 1
jika puzzle itu dapat dipecahkan, atau 0
jika tidak.
Untuk memecahkan teka-teki, pemain harus membuat jalur untuk menghubungkan setiap pasangan angka menggunakan setiap kotak kosong tepat satu kali.
Anda dimasukkan dalam dimensi kotak, dan kemudian x, y, c (di mana c adalah angka yang mewakili warna) dari setiap titik. Sebagai contoh:
Jika 5,5
0,0,0
3,0,1
1,1,2
1,2,2
4,2,1
4,4,0
diteruskan kepada Anda, itu akan mewakili:
0..1.
.2...
.2..1
....0
Dan harus mengembalikan 1.
Berikut adalah beberapa masalah tes lagi:
5,2
2,0,1
0,1,2
4,1,2
mewakili:
..1..
2...2
dan tidak bisa dipecahkan karena hanya ada 1 1
.
4,2
0,0,0
3,0,0
0,1,0
3,1,0
mewakili:
0..0
0..0
dan tidak dapat dipecahkan karena mencakup lebih dari 2 0
detik.
8,6
0,0,1
7,5,1
mewakili:
1.......
........
........
........
........
.......1
dan tidak dapat dipecahkan (karena Anda tidak dapat menggunakan setiap kotak).
2,5
0,0,1
2,0,6
4,0,6
0,1,4
3,1,4
4,1,1
mewakili:
1.6.6
4..41
dan tidak dapat dipecahkan karena Anda tidak dapat menghubungkan 1s.
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
mewakili:
.4...1
43...3
2..2.1
dan tidak dapat dipecahkan karena Anda tidak dapat menghubungkan 1s (atau 3s), karena kedua jalur harus saling bersilangan.
5,2
0,0,1
3,0,1
0,1,3
4,1,1
mewakili:
1..1.
3...3
dan tidak dapat dipecahkan karena Anda tidak dapat menggunakan semua kotak dalam membangun jalur.
2,2
0,0,0
1,1,0
mewakili:
1.
.1
dan tidak dapat dipecahkan karena Anda tidak dapat menggunakan semua kotak di sini juga
Berikut ini beberapa tes lagi:
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
harus mengembalikan 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
harus mengembalikan 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
harus mengembalikan 0
Ini adalah kode golf, dan aturan standar berlaku.
sumber
1
jika salah satu dari mereka mengunjungi semua sel dan menghubungkan semua terminal. Jelas pendekatan ini tidak akan menyelesaikan dalam jumlah waktu yang wajar untuk apa pun kecuali yang terkecilN
(jumlah sel kosong), tetapi kami masih memiliki jaminan matematis bahwa algoritma pada akhirnya akan mengembalikan nilai yang benar.Jawaban:
Haskell
Kunci
sumber