아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

アローダイス

시간 제한8초메모리 제한512 MB

요약
각 면에 화살표가 하나씩 그려진 정육면체 n개가 주어질 때, 모든 쌍에 대해 회전을 고려한 화살표 방향이 다른 면의 최소 개수를 구한다.
난이도

보통10점 중 7점

유형
기하, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

アローダイス (arrow dice) とは,立方体の各面の中央部にその面を構成する 4 辺のいずれかの中心を向いた矢印が 1 つずつ書かれたものである.図 F-1 にその一例を示す.

図 F-1 アローダイスの一例

ここで,2 つのアローダイスの相違度を「それぞれを任意に回転させたあとで立方体として完全に重なり合うように重ね合わせたときに,対応する面について向きの異なる矢印の個数の最小値」と定義する.

n 個のアローダイスが与えられるので,すべてのペアに対してその相違度を求めてほしい.

입력

入力は最大 50 データセットからなり,各データセットは次の形式で表される.

n
x1,1x1,2...x1,5
x2,1x2,2...x2,5
...
x5n,1x5n,2...x5n,5

各データセットの 1 行目には与えられるアローダイスの個数 n (2 ≤ n ≤ 200),続く 5n 行には n 個のアローダイスの情報が 5 行ずつ与えられる.5i-4 行目から 5i 行目までの入力が i 個目のアローダイスの情報である.

各アローダイスは 5 × 5 のグリッドで表現される. グリッド上で '^', 'v', '<', '>' はそれぞれ上下左右を向いた矢印が書かれたマスを表し,'.' は余白を表す. グリッドから余白を取り除いて得られる図形に対して,隣接するマスの間を山折りにして得られる立体がこのグリッドが表現するアローダイスである.入力として与えられるどの図形に関しても,正しく組み立てることでアローダイスが 1 つ出来上がることが保証されている. 例えば,サンプルの最初のケースの 1 つ目の入力が表す図形は図 F-2 の通りであり,図 F-1はこれを組み立てて得られるアローダイスを表している.

図 F-2

入力の終わりは 1 つのゼロからなる行で表される.

출력

各データセットに対して,i 行目の j 文字目に i 個目のアローダイスと j 個目のアローダイスの相違度を出力せよ.つまり,長さ n の数字列を n 行出力することになる.なお,2 つのアローダイスの相違度は 1 桁の整数となることが証明できる.

예제1

  1. 예제 1

    입력
    3
    ..^..
    .<v>.
    ..>..
    ..<..
    .....
    ..^..
    .<^>.
    ..>..
    ..<..
    .....
    ..>..
    ..^v.
    .^>..
    .v...
    .....
    8
    ..<^.
    ...^<
    ...<.
    ...<.
    .....
    .<...
    <>...
    .^<..
    .v...
    .....
    .....
    .....
    .>...
    ^>><.
    <....
    .....
    ...<.
    ..v^.
    ..>..
    .<v..
    .....
    ...<.
    ..^v.
    ...<>
    ...>.
    .....
    ...^.
    ..>v.
    .v^..
    .<...
    .....
    ..<..
    .vv..
    ^v...
    .^...
    .....
    ....>
    .v^vv
    ...<.
    .....
    0
    
    예상 출력
    010
    101
    010
    02222232
    20432043
    24013422
    23103331
    22330223
    20432043
    34232402
    23213320