การป้อนข้อมูล:
อาร์เรย์ 2 มิติที่มีค่าแตกต่างกันสองค่า ฉันจะใช้0และ1เมื่ออธิบายกฎ รูปแบบการป้อนข้อมูลมีความยืดหยุ่นแน่นอน
ท้าทาย:
เลขศูนย์คือน้ำและอีกอันคือเกาะ เพื่อให้มั่นใจในความเหงางานของคุณคือล้อมรอบเกาะด้วยน้ำโดยการแทรกแถวและคอลัมน์ของศูนย์ คุณไม่ต้องการเสียน้ำดังนั้นคุณต้องลดปริมาณน้ำที่เติมเข้าไป ในกรณีที่มีวิธีการแก้ปัญหามากกว่าหนึ่งวิธีที่ต้องใช้น้ำในปริมาณเดียวกันคุณควรเพิ่มคอลัมน์ของน้ำไม่ใช่แถว ฉันจะแสดงสิ่งนี้ในกรณีทดสอบ
เอาท์พุท:
อาร์เรย์ 2D ใหม่ที่ได้รับการแก้ไข รูปแบบผลลัพธ์มีความยืดหยุ่นแน่นอน
กรณีทดสอบ:
อินพุตและเอาต์พุตถูกคั่นด้วยขีดกลาง เลขศูนย์ที่เพิ่มจะแสดงเป็นตัวอักษรตัวหนา ใช้หนึ่งในคำตอบที่นี่หากคุณต้องการแปลงกรณีทดสอบเป็นรูปแบบที่สะดวกกว่า
1
---
1
1 1
---
1 0 1
1 1
1 1
---
1 0 1
0 0 0
1 0 1
1 0
0 1
---
1 0 0
0 0 1
โปรดทราบว่าเราได้เพิ่มคอลัมน์เป็นศูนย์ไม่ใช่แถวของศูนย์ นี่เป็นเพราะจำนวนศูนย์ที่จำเป็นเท่ากันและควรมีคอลัมน์ที่ต้องการ
1 0 0 0 1
0 1 0 1 0
0 0 1 0 0
0 1 0 1 0
---
1 0 0 0 1
0 0 0 0 0
0 1 0 1 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 1 0 1 0
โปรดทราบว่าเราได้เพิ่มแถวไม่ใช่คอลัมน์เนื่องจากต้องมีจำนวนศูนย์น้อยที่สุด
0 0 1 0 0
0 1 1 1 0
---
0 0 0 1 0 0 0
0 0 0 0 0 0 0
0 1 0 1 0 1 0
สิ่งนี้ต้องการทั้งคอลัมน์และแถว
0 0 1 0 0
0 1 0 1 0
---
0 0 0 1 0 0 0
0 1 0 0 0 1 0
ดีกว่าที่จะเพิ่มสองคอลัมน์มากกว่าหนึ่งแถวเพราะมันต้องใช้น้ำน้อย
0 0
1 0
0 1
1 0
0 0
---
0 0
1 0
0 0
0 1
0 0
1 0
0 0
ดีกว่าที่จะเพิ่มสองแถวกว่าหนึ่งคอลัมน์เพราะมันต้องใช้น้ำน้อย