Raja Roma Kuno mengalami kesulitan menentukan apakah kotak ajaib itu valid atau tidak, karena kotak ajaib yang dia periksa tidak termasuk pemisah di antara angka-angkanya. Dia telah menyewa seorang insinyur perangkat lunak untuk membantunya menentukan apakah kotak ajaib itu valid atau tidak.
Deskripsi Input
Input masuk pada argumen STDIN atau baris perintah. Anda tidak dapat memiliki input yang diinisialisasi dalam variabel (mis. "Program ini mengharapkan input dalam variabel x
"). Input dalam format berikut:
<top>,<middle>,<bottom>
Masing-masing <top>
, <middle>
dan <bottom>
merupakan string yang akan hanya pernah berisi karakter huruf besar I
, V
dan X
. Itu tidak akan berisi spasi atau karakter lain. Setiap string mewakili tiga angka Romawi, sehingga menghasilkan matriks angka 3x3. Namun, angka-angka Romawi ini mungkin (tetapi tidak harus) ambigu . Izinkan saya menggambarkan ini dengan sebuah contoh. Pertimbangkan contoh baris berikut dari tiga angka Romawi, tanpa spasi di antara setiap angka:
IVIIIIX
Karena tidak ada spasi di antara huruf-huruf, ada dua kemungkinan nomor di sini:
- 1, 8, 9 (
I VIII IX
) - 4, 3, 9 (
IV III IX
)
Ketika Anda menganggap bahwa ketiga baris matriks dapat bersifat ambivalen, ada potensi untuk ada banyak matriks 3x3 berbeda dari satu input.
Perhatikan bahwa urutan seperti 1, 7, 1, 9 ( I VII I IX
) tidak dimungkinkan karena setiap baris akan selalu mewakili tiga angka Romawi. Perhatikan juga bahwa angka Romawi harus valid, sehingga urutan seperti 1, 7, 8 ( I VII IIX
) juga tidak mungkin.
Deskripsi Output
Keluaran:
- Bilangan bulat
A
, di manaA
jumlah matriks 3x3 unik yang dapat dibentuk dari input yang ambisius, dan: - Nilai kebenaran jika salah satu dari matriks 3x3 unik membentuk kotak ajaib, atau:
- Nilai palsu jika tidak ada matriks 3x3 unik yang membentuk kotak ajaib.
Nilai kebenaran dan kepalsuan harus konsisten. Mereka dipisahkan oleh koma.
Diperlukan beberapa penjelasan tentang apa yang dianggap unik. Selama sebuah matriks tidak memiliki angka yang persis sama dalam posisi yang sama persis dengan matriks yang ditemukan sebelumnya, ia dihitung sebagai unik. Ini berarti bahwa refleksi, dll. Dari matriks yang ditemukan sebelumnya dihitung sebagai unik.
Contoh Input dan Output
Dalam contoh-contoh ini, saya gunakan true
sebagai nilai kebenaran saya dan false
sebagai nilai palsu saya.
Input: VIIIIVI,IIIVVII,IVIXII
Output: 24,true
(Segitiga ajaib adalah 8-1-6, 3-5-7, 4-9-2.)
Input: IIIXVIII,IVIII,VIIII
Keluaran:210,false
Ekstra
- Anda tidak diperbolehkan menggunakan fungsi konversi Angka Romawi bawaan jika bahasa pilihan Anda memilikinya.