สถานการณ์
ฉันขับรถไปตามถนนด้วยรถของฉันและฝนก็เริ่มตก เม็ดฝนตกลงบนหน้าต่างของฉันแบบสุ่มและตอนนี้ฉันถามตัวเองว่าพื้นที่เปียกชื้นที่ใหญ่ที่สุดเชื่อมต่อกันที่ไหน?
งาน
เพื่อให้ง่ายขึ้นหน้าต่างถูกแบ่งเป็นเมทริกซ์ 10 * 10 กำลังสอง งานของคุณคือการหาพื้นที่ปล่อยน้ำที่ใหญ่ที่สุดบนหน้าต่าง
อินพุต
มีอินพุตที่เป็นไปได้สองแบบคุณสามารถใช้อาร์เรย์ 2 มิติหรือ 1 มิติ คุณสามารถเลือกระหว่างอินพุตใด ๆ เช่น stdin ฯลฯ ...
ตัวอย่าง:
// 2-dimensional:
[[0,1,0,0,0,0,1,0,0,0],
[0,1,1,0,0,0,0,1,1,0],
[0,1,1,0,0,0,0,1,0,0],
[0,1,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,1,0],
[0,0,0,1,1,0,0,0,1,0],
[0,0,0,1,1,0,0,0,1,0],
[0,0,0,0,0,1,1,0,1,0],
[0,0,0,0,0,1,1,0,1,0],
[0,0,0,0,0,0,0,0,0,0]]
// 1-dimensional
[0,1,0,0,0,0,1,0,0,0,
0,1,1,0,0,0,0,1,1,0,
0,1,1,0,0,0,0,1,0,0,
0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,
0,0,0,1,1,0,0,0,1,0,
0,0,0,1,1,0,0,0,1,0,
0,0,0,0,0,1,1,0,1,0,
0,0,0,0,0,1,1,0,1,0,
0,0,0,0,0,0,0,0,0,0]
เอาท์พุต
รหัสของคุณจะต้องกำหนดขนาดของพื้นที่เชื่อมต่อที่ใหญ่ที่สุดและพิกัด x และ y- ของ waterdrops ซึ่งอยู่ในพื้นที่นี้ในรูปแบบ
"ขนาด: Z พิกัด: (X1, Y1) (X2, Y2) .. ."
ตัวอย่างสำหรับการป้อนข้อมูลก่อนหน้านี้:
Size: 6 Coordinates: (1,0) (1,1) (2,1) (1,2) (2,2) (1,3)
คำสั่งของพิกัดไม่สำคัญ
กฎระเบียบ
- มีการเชื่อมต่อ waterdrops ถ้าพวกเขาสัมผัสกัน orthogonally
- การเชื่อมต่อในแนวทแยงจะไม่นับ
- อาจมีหลายพื้นที่และรหัสของคุณต้องค้นหาที่ใหญ่ที่สุด
- ฟิลด์ว่างจะแสดงเป็น "0" และฟิลด์เปียกเป็น "1"
- โพสต์โซลูชันของคุณด้วยคำอธิบายสั้น ๆ และผลลัพธ์ของอินพุตก่อนหน้า
- รหัสที่สั้นที่สุดใน 7 วันข้างหน้าจะเป็นผู้ชนะ
- หากมีสองพื้นที่ที่มีขนาดเท่ากันคุณสามารถเลือกหนึ่งพื้นที่
