Tulis sebuah program, yang, ketika menatap meja catur, dapat mengatakan apakah ada cek atau skakmat.
Input : tabel catur dalam bentuk teks, baris terakhir dari input menjadi peringkat pertama (garis awal White)
Posisi awal dalam input ini akan terlihat seperti ini (spasi adalah kuadrat kosong, huruf kapital berwarna Putih): mengapa spasi tidak ditampilkan di sini?
rnbqkbnr
pppppppp
PPPPPPPP
RNBQKBNR
Program harus mencetak satu atau lebih dari yang berikut ini (tanpa tanda kutip, tentu saja), tergantung pada situasinya:
- "Raja Putih sedang dikendalikan!" (jika sudah dalam skakmat, jangan tampilkan ini!)
- "Raja Hitam sedang dikendalikan!" (jika sudah dalam skakmat, jangan tampilkan ini!)
- "Raja Putih sedang dalam skakmat!"
- "Raja Hitam sedang dalam skakmat!"
- "Putih dalam kebuntuan!" (Akan ada jalan buntu jika Putih dipindahkan - opsional )
- "Hitam dalam kebuntuan!" (Akan ada jalan buntu jika Hitam pindah - opsional )
- "Kedua raja aman untuk saat ini." (jika tidak ada yang di atas berlaku)
Masukan dijamin benar dan menjadi posisi catur legal (tidak ada dua raja dengan warna yang sama, tidak ada dua raja dalam pemeriksaan, dll.).
Skor:
Skor adalah jumlah karakter, kemenangan terendah, tidak lebih cepat dari 10 hari setelah jawaban valid pertama. Jika evaluasi jalan buntu opsional diterapkan, ukurannya akan berkurang sebesar 20% (untuk situasi ini, anggaplah penumpang tidak dapat melakukan).
Jawaban:
C, 837-20% = 669,6 karakter
Berdasarkan jawaban ini . Anda dapat melihat beberapa penjelasan tentang implementasi di sana.
Asli golf cukup baik, modifikasinya tidak begitu banyak, jadi ada ruang untuk perbaikan.
Saya juga tidak akan terkejut menemukan bug, QA saya tidak terlalu ketat.
sumber