Prvi put kroz matricu

Logička matrica dimenzije \(n\times n\) u početku sadrži sve nule. Nakon toga se nasumično dodaje jedna po jedna jedinica. Kretanje po matrici je moguće samo po jedinicama i to samo na dole, na gore, na desno i na levo. Napisati program koji učitava dimenziju matrice, a zatim poziciju jedne po jedne jedinice i određuje nakon koliko njih je prvi put moguće sići od vrha do dna matrice (sa proizvoljnog polja prve vrste koje sadrži jedinicu do proizvoljnog polja poslednje vrste matrice koje sadrži jedinicu).

Opis ulaza

Sa standardnog ulaza se učitava dimenzija matrice \(1 \leq n \leq 200\), zatim broj polja \(m\) (\(1 \leq m \leq n^2\)) u koje se upisuje jedinica, a zatim u narednih \(m\) redova koordinate tih polja (broj vrste i broj kolone od \(0\) do \(n-1\), razdvojeni razmakom).

Opis izlaza

Na standardni izlaz ispisati najmanji broj dodatih jedinica nakon kojih je postalo moguće stići od vrha do dna.

Primer

Ulaz

4 9 0 0 0 1 1 1 3 3 1 3 2 0 3 0 2 1 2 2

Izlaz

8

Objašnjenje

Posle 8 učitanih polja, matrica postaje

1100 0101 1100 1001

i vrh i dno postaju spojeni.

Rešenje