Einstein menulis teka-teki. Dia mengatakan bahwa 98% dunia tidak dapat menyelesaikannya.
Saya memecahkan teka-teki ini dalam sekitar 25 menit saat di kereta untuk bekerja. Ini pada dasarnya hanya deduksi.
Teka-teki
Ada 5 rumah dalam 5 warna berbeda berturut-turut.
Di setiap rumah tinggal seseorang dengan kebangsaan yang berbeda.
5 pemilik minum minuman jenis tertentu, merokok cerutu merek tertentu, dan memelihara hewan peliharaan tertentu.
Tidak ada pemilik yang memiliki hewan peliharaan yang sama, merokok cerutu merek yang sama, atau minum minuman yang sama.
Pertanyaan: Siapa yang memiliki ikan?
Untuk memecahkan teka-teki ini Einstein menyediakan 15 petunjuk:
- Orang Inggris itu tinggal di rumah merah.
- Orang Swedia memelihara anjing sebagai hewan peliharaan.
- Orang Denmark minum teh.
- Rumah hijau berada di sebelah kiri langsung rumah putih.
- Pemilik rumah kaca minum kopi.
- Pemilik yang merokok Pall Mall memunculkan burung.
- Pemilik rumah kuning itu merokok Dunhill.
- Pemilik yang tinggal di rumah pusat minum susu.
- Orang Norwegia tinggal di rumah pertama.
- Pemilik yang merokok Blends tinggal di sebelah orang yang memelihara kucing.
- Pemilik yang memelihara kuda itu tinggal di sebelah orang yang merokok Dunhill.
- Pemilik yang merokok Bluemasters minum bir.
- Jerman merokok Pangeran.
- Orang Norwegia itu tinggal di sebelah rumah biru.
- Pemilik yang merokok Blends tinggal di sebelah orang yang minum air.
Dengan petunjuk ini Anda bisa menemukan solusi.
Tugas Anda: Buat program yang akan memecahkan teka-teki ini untuk Anda. Pengodean keras solusinya tidak diizinkan (ya)
Diperbolehkan untuk membuat hardcode petunjuk dalam format apa pun.
Format contoh:
//Hints in order
(Nationality:Brit)==(Color:Red)
(Nationality:Swede)==(Pet:Dogs)
(Nationality:Dane)==(Drink: Tea)
(Color:Green)/(Color:White)
(Color:Green)==(Drink:Coffee)
(Smoke:PallMall)==(Pet:Birds)
(Color:Yellow)==(Smoke:Dunhill)
(House:3)==(Drink:Milk)
(Nationality:Norwegian)==(House:1)
(Smoke:Blend)/\(Pet:Cats)
== Berarti sama dengan
/ berarti di sisi kiri
\ berarti di sisi kanan
/ \ berarti kiri atau kanan
Seperti saya katakan itu diizinkan untuk petunjuk hardcode atau memilikinya sebagai input.
Output: Output harus dalam format berikut (Dengan nilai-nilai yang benar, hanya mengatakan untuk troll;))
_____________ _____________ _____________ _____________ _____________
| Number | | Number | | Number | | Number | | Number |
| Nationality | | Nationality | | Nationality | | Nationality | | Nationality |
| Color | | Color | | Color | | Color | | Color |
| Drink | | Drink | | Drink | | Drink | | Drink |
| Smoke | | Smoke | | Smoke | | Smoke | | Smoke |
| Pet | | Pet | | Pet | | Pet | | Pet |
--------------- --------------- --------------- --------------- ---------------
The <Nationality> in the <Color> house owns the fish!
Kotak seni Ascii dapat diubah oleh Anda, asalkan itu kotak, tidak peduli simbol apa yang Anda gunakan.
Pengetahuan tentang teka-teki dan solusi ini tidak dapat digunakan dalam program. Itu harus menggunakan logika murni dan deduksi untuk memecahkan teka-teki.
Menandai ini sebagai codegolf tetapi mungkin merupakan tantangan kode, tidak yakin. Setiap pemikiran tentang kriteria memenangkan untuk tantangan kode merasa bebas untuk dibagikan :)
Untuk sekarang ini adalah kode-golf sehingga program dengan bytecount terendah menang.
Selamat mencoba dan Selamat coding :)