Prihlásenie Registrácia  

C - Deravá doska

Časový limit: 2s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3

Počet bodov: 1

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Na nie celkom štandardnej šachovnicovej hracej doske je umiestnený jazdec. Neštandardnosť hracej dosky spočíva v tom, že jej rozmer nie je štvorcový a obsahuje "diery", tzn. políčka, na ktoré nie je možné umiestniť jazdca.

Úloha

Rozhodnite, na koľko rôznych políčok sa môže jazdec presunúť jedným ťahom.

Vstup

Prvý riadok vstupu obsahuje celé číslo N, 1 ≤ N ≤ 100; počet testovacích príkladov. Prvý riadok každého príkladu obsahuje dvojicu čísel m a n, 1 ≤ m,n ≤ 500, udávajúcich rozmer dosky (m riadkov a n stĺpcov). Ďalší riadok obsahuje dvojicu čísel x a y, 1 ≤ xn, 1 ≤ ym, predstavujúcich pozíciu jazdca na šachovnici, pričom pozícia [1,1] určuje ľavý horný roh. Potom nasleduje m riadkov dĺžky n znakov. Tieto riadky popisujú šachovnicu pomocou znakov 0 a 1, pričom 0 predstavuje "dieru". Znaky nie sú od seba navzájom nijako oddelené.

Výstup

Pre každý príklad na vstupe vypíšte na jeden riadok počet políčok, na ktoré môže jazdec skočiť jedným ťahom.

Príklad

Vstup:

2
5 5
2 2
10111
11100
11100
01111
01111
3 4
2 1
1111
1101
1111

Výstup:

2
3