Menghasilkan sebuah program untuk memberi nomor dengan benar pada grid silang.
Memasukkan
Input akan menjadi nama file yang mewakili kisi teka-teki silang. Nama file input dapat diberikan sebagai argumen, pada input standar, atau dengan cara konvensional lain selain hardcoding.
Format file kotak: File teks. Baris pertama terdiri dari dua konstanta integer putih-ruang yang dipisahkan M
dan N
. Mengikuti garis itu adalah M
garis yang masing-masing terdiri dari N
karakter (ditambah garis baru) dipilih [#A-Z ]
. Karakter-karakter ini diinterpretasikan sedemikian rupa sehingga '#'
mengindikasikan kotak yang diblokir, ' '
kotak terbuka dalam teka-teki tanpa isi yang diketahui dan huruf apa pun berupa kotak terbuka yang berisi huruf itu.
Keluaran
Output akan berupa file penomoran, dan dapat dikirim ke output standar, ke file yang namanya berasal dari nama file input, ke file yang ditentukan pengguna, atau ke beberapa tujuan konvensional lainnya.
Format file penomoran File teks. Baris yang dimulai dengan '#' diabaikan dan dapat digunakan untuk komentar. Semua jalur lain mengandung tab terpisah triplet i
, m
, n
di mana i
merupakan nomor yang akan dicetak di grid, dan m
dan n
mewakili baris dan kolom dari alun-alun di mana ia harus dicetak. Jumlah baris dan kolom dimulai dari 1.
Skema penomoran
Kisi bernomor yang benar memiliki properti berikut:
- Penomoran dimulai pada 1.
- Tidak ada kolom atau rentang kotak terbuka yang tidak dinomori. (Anda dapat berasumsi bahwa tidak ada jawaban karakter tunggal dalam masalah ini.)
- Angka akan ditemui dalam penghitungan urutan dengan memindai dari baris atas ke bawah mengambil setiap baris dari kiri ke kanan. (Jadi, setiap bentang horizontal diberi nomor di kuadrat paling kiri, dan setiap kolom diberi nomor di kuadrat paling atas.)
Uji input dan output yang diharapkan
Memasukkan:
5 5
# ##
#
#
#
## #
Output (mengabaikan baris komentar):
1 1 2
2 1 3
3 2 2
4 2 4
5 2 5
6 3 1
7 3 4
8 4 1
9 4 3
10 5 3
Ke samping
Ini adalah yang pertama dari apa yang diharapkan akan menjadi beberapa tantangan terkait teka-teki silang. Saya berencana untuk menggunakan serangkaian file-format yang konsisten di seluruh dan untuk membangun seperangkat utilitas terkait silang yang terhormat dalam prosesnya. Misalnya teka-teki selanjutnya akan meminta untuk mencetak versi ASCII dari teka-teki silang berdasarkan input dan output dari teka-teki ini.
'\n'
dalam c pada semua platform. Asumsinya adalah bahwa file input diproduksi pada sistem yang sama yang akan memprosesnya, jadi masalah ini harus transparan. Catatan umum tentang kode-golf: jika Anda menggunakan bahasa asing atau platform aneh, catat apa saja yang mungkin mengejutkan pembaca. Orang akan memberikan kelonggaran untuk itu dalam menilai kiriman Anda.