fadema

Time limit: 0.3s Memory limit: 128MB Input: fadema.in Output: fadema.outPoints by default: 10p

Corina a cumpărat de la magazin un material din pânză colorată, de formă dreptunghiulară pentru a decupa din el o față de masă pentru masa din bucătărie. Fiindcă este pasionată de șah, Corina a ales un material format din n×mn \times m pătrate de aceeași dimensiune colorate cu alb sau negru. Pătratele sunt lipite și sunt dispuse pe linii și coloane paralele cu laturile dreptunghiului din pânză care a fost cumpărat. Două pătrate se numesc vecine dacă au în comun o latură.

Materialul din pânză nu respectă neapărat structura unei table de șah, adică pătratele vecine pe aceeași linie sau pe aceeași coloană nu sunt în mod necesar colorate în mod alternativ.

Corina își propune prin urmare să decupeze un dreptunghi cu un număr maxim de pătrate, paralel cu laturile dreptunghiului din pânză care a fost cumpărat, care să respecte alternanța culorilor pe o tablă de șah.

Cerință

Să se determine numărul maxim de pătrate întregi ale unui dreptunghi cu laturile paralele cu cele ale materialului cumpărat, care poate fi decupat astfel încât să nu existe două pătrate vecine având aceeași culoare.

Date de intrare

Fișierul fadema.in conține pe prima linie două numere naturale nn și mm reprezentând numărul de linii, respectiv numărul de coloane ale materialului din pânză care a fost cumpărat.
Pe fiecare dintre următoarele nn linii se află câte mm cifre 0 sau 1 despărțite prin câte un spațiu, reprezentând culorile pătratelor materialului. Cifra 0 codifică culoarea albă, iar cifra 1 codifică culoarea neagră.

Date de ieşire

Fișierul fadema.out va conține pe prima linie un singur număr natural AA, reprezentând numărul maxim de pătrate ale unui dreptunghi care poate fi decupat astfel încât să respecte cerința din enunț. Dacă nu există dreptunghiuri cu cel puțin două pătrate având culori alternante, se va scrie valoarea 11.

Restricţii și precizări

  • 2N1 0002 \leq N \leq 1\ 000
  • 2M1 0002 \leq M \leq 1\ 000
  • Pentru rezolvarea corectă a cerinței respectând restricțiile problemei se acordă 90 de puncte.
  • Pentru rezultate corecte respectând restricțiile problemei și n,m100n, m \leq 100 se acordă 20 de puncte.
  • Pentru rezultate corecte respectând restricțiile problemei și n,m200n, m \leq 200 se acordă 40 de puncte.
  • Pentru rezultate corecte respectând restricțiile problemei și n,m400n, m \leq 400 se acordă 65 de puncte.
  • Din oficiu se acordă 10 puncte.

Exemplul 1

fadema.in

3 4
0 0 1 0
1 1 0 0
1 0 1 0

fadema.out

6

Explicație

Dreptunghiul delimitat de liniile 11 și 33, respectiv coloanele 22 și 33 are 66 pătrate.

Exemplul 2

fadema.in

4 5
0 1 1 0 1
1 0 1 0 1
0 0 1 1 0
1 1 0 1 1

fadema.out

5

Explicație

Dreptunghiul delimitat de linia 22, respectiv coloanele 11 și 55 are 55 pătrate.

Log in or sign up to be able to send submissions!