COCI-06 (2006) - Γύρος #1 - 6 (Debug)

View as PDF

Submit solution

Points: 45 (partial)
Time limit: 1.0s
Memory limit: 32M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Debug

Κατά τον εντοπισμό σφαλμάτων ενός προγράμματος, ο Mirko παρατήρησε ότι ένα σφάλμα στο πρόγραμμα μπορεί να συνδέεται με την ύπαρξη των λεγόμενων τετράγωνων δολοφόνων στη μνήμη του προγράμματος. Η μνήμη του προγράμματος είναι ένας πίνακας που αποτελείται από R γραμμές και C στήλες που αποτελείται μόνο από μηδενικά και ένα. Ένας τετράγωνος δολοφόνος είναι ένας τετράγωνος υποπίνκας στη μνήμη, που αποτελείται από περισσότερους από έναν χαρακτήρες, που όταν περιστρέφεται 180 μοίρες φαίνεται ακριβώς το ίδιο. Για παράδειγμα, ο ακόλουθος πίνακας περιέχει 3 τετράγωνους δολοφόνους:

  101010  
  111001  
  101001  
  memory  
  . . . . 10  
  . . . . 01  
  . . . . . .   
  killer  
  . . . . . .   
  . . . 00.   
  . . . 00.   
  killer  
  101. . .   
  101. . .   
  101. . .   
  killer  

Ο Mirko αναρωτιέται αν υπάρχει σχέση μεταξύ του μεγέθους του μεγαλύτερου τετράγωνου δολοφόνου και του σφάλματος στο πρόγραμμα. Βοηθήστε τον Mirko γράφοντας ένα πρόγραμμα που, δεδομένης της διάταξης της μνήμης,εξάγει το μέγεθος του μεγαλύτερου τετράγωνου δολοφόνου. Το μέγεθος του τετράγωνου δολοφόνου είναι ο αριθμός των γραμμών (ή στήλων) που ο δολοφόνος αποτελείται από. Στο παραπάνω παράδειγμα τα μεγέθη των δολοφόνων είναι 2, 2 και 3, αντίστοιχα.

Είσοδος

Η πρώτη θα περιέχει δύο ακέραιους αριθμούς, R και C, μικρότερους ή ίσους με 300.
Οι επόμενες R γραμμές θα περιέχουν C χαρακτήρες ('0' ή '1') χωρίς κενά.

Έξοδος

Εκτυπώστε το μέγεθος του μεγαλύτερου δολοφόνου σε μία γραμμή ή εκυπώστε -1 εάν δεν υπάρχουν τετράγωνοι δολοφόνοι.

Παραδείγματα

input

3 6
101010
111001
101001

output

3

input

4 5
10010
01010
10101
01001

output

3

input

3 3
101
111
100

output

-1

Comments

There are no comments at the moment.