Jadi tugas Anda adalah mengambil blok 3x3 di mana -
berarti ruang kosong, dan *
berarti ruang penuh, misalnya:
-**
-*-
*-*
dan mengatur ulang blok sehingga *
membentuk X, seperti ini:
*-*
-*-
*-*
Input: kotak 3x3 seperti di atas, bisa berupa 3 baris, array, atau apa pun yang Anda inginkan.
Keluaran: Jumlah gerakan tersingkat untuk disusun ulang menjadi X. Setiap gerakan membalik 2 karakter yang saling bersentuhan, dan saling horizontal, saling vertikal, atau diagonal satu sama lain. Jika tidak memungkinkan, kembalikan output yang tidak mungkin, misalnya 999
atau -4242
. 5
adalah nomor terkecil seperti itu.
Kasus uji:
1) Output: 1
-**
-*-
*-*
2) Output: -1
-*-
-*-
*-*
3) Output: 3
---
-**
***
4) Output: 0
*-*
-*-
*-*
Anda dapat mengganti karakter kosong dan non kosong tetapi pastikan untuk memasukkan yang mana dalam posting Anda
Golf kode
Ingat ini adalah kode golf kode yang paling pendek menang!
*
? Bisakah Anda menambahkan beberapa test case lagi?
*
atau kurang dari 5 membuatnya tidak mungkin.
-1
? Misalnya 5
(tidak mungkin sebaliknya), atau melempar kesalahan?
*
dan sebaliknya, atau menukar mereka?