2006 : Debug
Problem type : Batch
Time limit : 1.0 second(s)
Memory limit : 32 megabyte(s)
ในขณะที่มินตราทำการดีบัก (debug) โปรแกรม เขาสงสัยว่าข้อผิดพลาดในโปรแกรมจะมีความสัมพันธ์กันกับ “สี่เหลี่ยมพิฆาต” ในพื้นที่หน่วยความจำที่โปรแกรมใช้งานอยู่
โดยพื้นที่หน่วยความจำที่โปรแกรมใช้งานมีลักษณะเป็นเมทริกซ์ขนาด R แถวและ C คอลัมน์ มีสมาชิกในแต่ละช่องของเมทริกซ์เป็น 0 หรือ 1 เท่านั้น
สี่เหลี่ยมพิฆาต เป็นเมตริกซ์ย่อยจัตุรัสภายในหน่วยความจำ ที่ประกอบด้วย 0 หรือ 1 มากกว่าหนึ่งตัว ที่เมื่อถูกหมุน 180 องศาแล้ว จะมีค่าเหมือนเดิม ตัวอย่างเช่น พื้นที่หน่วยความจำต่อไปนี้จะมีสี่เหลี่ยมพิฆาตอยู่ 3 ชุด:



มินตราต้องการหาว่าขนาดของสี่เหลี่ยมพิฆาตที่ใหญ่ที่สุดในพื้นที่หน่วยความจำจะมีความสัมพันธ์กับข้อผิดพลาดในโปรแกรมหรือไม่ คุณจะต้องช่วยมินตราโดยการเขียนโปรแกรมที่รับอินพุตเป็นแผนผังของหน่วยความจำ และให้ผลลัพธ์เป็นขนาดของสี่เหลี่ยมพิฆาตที่ใหญ่ที่สุดในพื้นที่หน่วยความจำนั้น โดยขนาดสี่เหลี่ยมพิฆาตคือจำนวนของแถว (หรือของคอลัมน์) ของสี่เหลี่ยมพิฆาตนั่นเอง เช่น จากตัวอย่างข้างต้น ขนาดของสี่เหลี่ยมพิฆาตที่พบทั้งสามชุด คือ 2, 2 และ 3 ตามลำดับ

ข้อมูลนำเข้า
บรรทัดแรกประกอบด้วยตัวเลขจำนวนเต็มสองจำนวนที่ระบุจำนวนแถว (R) และจำนวนคอลัมน์ (C) ของพื้นที่หน่วยความจำของโปรแกรม โดยที่ทั้ง R และ C จะมีค่าไม่เกิน 300
ถัดจากบรรทัดแรก จะเป็นอินพุตอีกจำนวน R บรรทัด แต่ละบรรทัดมี C ตัวอักษรของค่า ‘0’ หรือ ‘1’ ติดกันไปโดยไม่มีช่องว่างคั่น

ข้อมูลส่งออก

ขนาดของสี่เหลี่ยมพิฆาตที่ใหญ่ที่สุดในพื้นที่หน่วยความจำ หรือถ้าไม่พบสี่เหลี่ยมพิฆาตเลย ให้แสดง -1

Problem Source
: Croatian Open Competition in Informatics
Contest 1 – October 28, 2006


ตัวอย่างข้อมูลนำเข้า ตัวอย่างข้อมูลส่งออก
3 6
101010
111001
101001
3
4 5
10010
01010
10101
01001
3
3 3
101
111
100
-1

ความช่วยเหลือ: Hint[1]  Hint[2]  

กำลังออนไลน์: 22 ผู้เยี่ยมชมและ 1 สมาชิก (1 บอท)