Programozás‎ > ‎Feladatok‎ > ‎

Transzformációk

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