Egy N x N-es (1 <= N <= 10) fekete és fehér négyzetekből álló mintát egy másik ugyanilyen méretű négyzetbe transzformáltuk.
A következő transzformációk valamelyikét végeztük el:
- #1: 90 fokos forgatás az óramutató járása szerint.
- #2: 180 fokos forgatás az óramutató járása szerint.
- #3: 270 fokos forgatás az óramutató járása szerint.
- #4: tükrözés a minta függőleges felezőmerőlegesére.
- #5: kombináció: a tükrözés után valamelyik (#1-#3) forgatás.
- #6: identitás: a minta nem változott.
- #7: nem megengedett: nem kapható meg a kép a fenti transzformációk egyikével sem.
Ha több transzformáció is megfelel, akkor a minimális sorszámút kell választani.
Feladat
Írjunk programot, ami megadja, hogy melyik az a legkisebb sorszámú transzformáció a fenti listában, ami az eredeti mintát átviszi a másodikba.
Bemenet
- első sor: N
- 2,3,...(N+1). sor: az eredeti minta, soronként N karakter ('@' vagy '-')
- (N+2).,....(2*N+1). sor: a kapott kép, az előzőhöz hasonlóan kódolva
Kimenet
Egyetlen egész szám 1 és 7 között.
Példa
transform.in |
transform.out |
3
@-@
---
@@-
@-@
@--
--@
|
1
|
Tesztadatok
Címkék
A feladat forrása: USACO training material, Transformations
Algoritmusok:
megoldás |