ปัญหา
สถานการณ์วันโลกาวินาศอธิบายโดยสามตัวเลขในบรรทัดเดียวn
, และm
p
การติดตามบรรทัดนั้นคือn
บรรทัดที่มีm
ค่าต่อบรรทัด แต่ละค่าหมายถึงหน่วยน้ำทั้งหมดที่แต่ละเซลล์สามารถเก็บได้
p
บรรทัดต่อไปนี้อธิบายสภาพอากาศสำหรับp
วันถัดไป 1 หน่วยของฝนตกในเซลล์เดียวในแต่ละวัน หากปริมาณน้ำในเซลล์เกินจำนวนที่สามารถเก็บได้เซลล์นั้นจะท่วม หากเซลล์ที่อยู่ติดกันหลายแห่งทำงานได้เต็มประสิทธิภาพเซลล์เหล่านั้นจะถือว่าเป็นเซลล์เดียวที่แบ่งปันเพื่อนบ้านทั่วไป (คิดว่า Minesweeper เมื่อคุณคลิกที่กลุ่มว่าง)
- เซลล์ตรงกลางเดียวมี 4 เพื่อนบ้าน
- เซลล์กลางกำลังการผลิตสองตัวที่อยู่ติดกันทั้งหมดจะถือว่าเป็นหนึ่งเซลล์ที่มี 6 เพื่อนบ้าน
- เซลล์มุมเดียวมีเพื่อนบ้าน 2 คน
- ผนังเซลล์เดียวมี 3 เพื่อนบ้าน
เมื่อเซลล์ถูกน้ำท่วมเหตุการณ์น้ำท่วมจะเกิดขึ้น น้ำส่วนเกินทั้งหมดจะกระจายไปยังเพื่อนบ้านอย่างเท่าเทียมกัน หากนั่นเป็นสาเหตุทำให้เพื่อนบ้านหนึ่งคนหรือมากกว่าถูกน้ำท่วมเหตุการณ์น้ำท่วมอื่นก็เกิดขึ้น เรื่องนี้จะดำเนินต่อไปจนกว่าน้ำจะตกลงหรือเมืองน้ำท่วมอย่างสมบูรณ์
ตัวอย่างการป้อนข้อมูล
7 5 3
3 2 3 4 5
2 2 0 3 4
1 1 2 3 3
4 1 2 2
4 1 1 2 2
4 4 1 2 2
4 4 2 2 2
0 0
1 2
4 3
0 0
หมายความว่าฝนตกในแถว 1, col 11 2
หมายความว่าฝนตกในแถว 2, คอลัมน์ 3 (ซึ่งสามารถเก็บน้ำเป็นศูนย์และน้ำท่วมทันที!)
หลังจากp
วันที่ฝนตกถ้าเมืองถูกน้ำท่วมอย่างสมบูรณ์ผลผลิตอ่างล้างจาน มิฉะนั้นการส่งออกว่ายน้ำ
ตัวอย่างผลลัพธ์
การว่ายน้ำ
สมมติฐาน
- ข้อมูลอาจถูกป้อนผ่าน stdin อ่านจาก "city.txt" หรือยอมรับว่าเป็นอาร์กิวเมนต์ ทั้งสามได้รับอนุญาตเพื่อไม่ให้เป็นโมฆะคำตอบใด ๆ ที่โพสต์แล้ว
- ความจุน้ำจะเป็นจำนวนเต็มไม่เป็นลบ
นักศึกษาระดับปริญญาตรีมากกว่า 40 ทีม (จาก A&M, UT, LSU, Rice, Baylor และอื่น ๆ ) การแข่งขันในการประกวดเขียนโปรแกรมด้วยภาษาที่หลากหลายไม่สามารถแก้ปัญหานี้ได้ใน 5 ชั่วโมง ด้วยเหตุนี้ฉันจึงอดไม่ได้ที่จะพูดถึงว่ามีอะไรที่จับปริศนานี้ได้ทำให้แก้ปัญหาได้เล็กน้อย รหัสที่สั้นที่สุดยังคงชนะเพราะฉันมั่นใจว่ารหัสที่สั้นที่สุดจะแก้ปริศนาด้วย
0.25
หน่วยเช่นไปยังเซลล์แต่ละเซลล์ที่อยู่ติดกัน
n
สายของm
ค่าหรือวิธีอื่น ๆ ? ตัวอย่างของคุณไม่ตรงกับข้อกำหนดที่เป็นลายลักษณ์อักษร