บทนำ
นักกอล์ฟรหัสความรู้เตรียมเราสำหรับน้ำท่วมวันโลกาวินาศ พื้นที่ที่มีความเสี่ยงถูกอพยพออกไปและประชากรย้ายไปอยู่ที่สูง
เราประเมินน้ำท่วมน้อยเกินไป (หรืออาจมีข้อผิดพลาดในรหัสของ @ user12345) บางพื้นที่ที่อยู่สูงขึ้นไปใกล้ระดับน้ำทะเลอย่างรวดเร็ว ผนังจะต้องถูกสร้างขึ้นเพื่อให้แน่ใจว่าการอยู่รอดของค่ายที่มีประชากรหนาแน่นในขณะนี้ น่าเศร้าที่รัฐบาลมีกำแพงที่ จำกัด
ปัญหา
สถานการณ์วันโลกาวินาศของเราคือการอธิบายโดยตัวเลขสองในบรรทัดเดียวและn
m
ต่อจากบรรทัดนั้นคือn
บรรทัดที่มีm
ค่าต่อบรรทัดคั่นด้วยช่องว่างเดียวเท่านั้น แต่ละค่าจะเป็นหนึ่งในสี่ตัวละคร
x
ที่เป็นทางตัน น้ำไม่สามารถไหลได้ที่นี่ ไม่สามารถสร้างกำแพงได้ที่นี่-
ไม่แน่นอน น้ำสามารถไหลผ่านนี่ได้ ไม่สามารถสร้างกำแพงได้ที่นี่.
มีเสถียรภาพ น้ำสามารถไหลผ่านที่นี่ สามารถสร้างกำแพงได้ที่นี่o
การตั้งแคมป์ น้ำสามารถไหลผ่านที่นี่ ถ้าเป็นเช่นนั้นทุกคนจะตาย ไม่สามารถสร้างกำแพงได้
น้ำจะไหลจากทุกขอบของแผนที่เว้นแต่ว่าขอบไม่สามารถใช้ได้หรือผนังจะถูกสร้างบนกระเบื้อง เขียนโปรแกรมที่สามารถแสดงจำนวนกำแพงขั้นต่ำที่ต้องการเพื่อป้องกันการตั้งค่าย
ตัวอย่างการป้อนข้อมูล
6 7
x . . x x x x
x . . x - - x
x . x x - - x
x . o o o - .
x . o o o - .
x x x x x x x
ตัวอย่างผลลัพธ์
3
สมมติฐาน
- น้ำไหลแบบตั้งฉากเท่านั้น
- ที่พักอาศัยมีเพียงหนึ่งบล็อกแบบต่อเนื่องกันแบบ orthonagonally ต่อสถานการณ์
- วิธีแก้ปัญหาจะมีอยู่เสมอ (แม้ว่าอาจต้องใช้กำแพงจำนวนมาก)
- ไม่สามารถหาที่พักในขอบได้เนื่องจากสถานการณ์จะไม่มีวิธีแก้ปัญหา
- 2
n
<<16 - 2
m
<<16 - อาจป้อนข้อมูลจาก stdin อ่านจาก "city.txt" หรือยอมรับว่าเป็นอาร์กิวเมนต์เดียว
รหัสที่สั้นที่สุดชนะ!