Bergskedja | 프로그래밍의 벗 PivotOJ
PivotOJ

Bergskedja

시간 제한: 1000ms메모리 제한: 1024MB출처: Programmeringsolympiaden 2022 — skolkvalBOJ 24188
이 문제는 본문 이미지 일부가 표시되지 않습니다. 텍스트만으로 풀이가 어려울 수 있습니다.

문제

Torunn bor i ett bergigt bostadsområde som består av ett n×mn \times m-rutnät med en tomt i varje ruta. Torunn bor på rutan längst upp till vänster i rutnätet. Tyvärr har en extra jobbig hyresgäst nyligen flyttat in, så Torunn har bestämt sig för att sälja sin bostad och flytta någon annanstans. Först måste han dock ta reda på hur mycket bostaden är värd.

Varje ruta i rutnätet har en höjd. Alla höjder är olika, så låt oss för enkelhets skull anta att höjderna är 1,2,3,,nm1, 2, 3, \cdots, n\cdot m. Tomter med högre höjd är värda mer på bostadsmarknaden, så Torunn vill ta reda på höjden på sin tomt. Han har därför gått runt till varje ruta i rutnätet och kollat hur många angränsande rutor som är lägre. En ruta anses vara angränsande om den delar en sida (rutor som inte ligger längs bostadsområdets kant har alltså 44 angränsande rutor).

Skriv ett program som, givet informationen Torunn samlade in, hittar minsta och största möjliga höjd för hennes tomt.

입력

Första raden innehåller två heltal nn och mm (1n,m81 \leq n,m \leq 8), antalet rader och kolumner i rutnätet.

De följande nn raderna innehåller en sträng av längd mm var. Detta rutnät utgör informationen som Torunn samlade in, varje siffra motsvarar alltså antalet angränsande rutor som har lägre höjd än rutan som siffran står i. Det är garanterat att det finns minst ett sätt att tilldela höjderna 1,2,,nm1, 2, \cdots, n\cdot m till rutorna så att den insamlade informationen är korrekt. Notera att värdena som samlats in alltid kommer vara mellan 00 och 44.

출력

Skriv ut två heltal, den minsta och den största möjliga höjden på rutan i övre vänstra hörnet.

힌트

[이미지 1]

Två möjliga fördelningar av höjder som stämmer överens med exempel 11.

예제

예제 1

입력
2 3
122
101
출력
3 4

예제 2

입력
1 4
0111
출력
1 1
코드를 제출하려면 로그인하세요.