无题I

Time Limit: 10000/10000 MS (Java/Others)

Memory Limit: 32768/32768 K (Java/Others)

Description

一天机器人小A在玩一个简单的智力游戏,这个游戏是这样的,在一个4*4的矩阵中分别有4个1,4个2,4个3和4个4分别表示4种不同的东西,每一步小A可以把同一行的4个数往左移或者往右移一步或者把同一列的4个数字往上移或者往下移一步(1,2,3,4往左移后是2,3,4,1),小A现在想知道进过最少的几步移动可以将矩阵的每行上的4个数字都一样或者每列上的4个数字都一样。但是小A又不想走太多步,他只要知道最少步数是否少于等于5步,是的话输出准确的步数,否则输出-1。

Input

先输入一个整数T,表示有T组数据。
对于每组数据输入4行,每行4列表示这个矩阵。

Output

对于每组输入输出一个正整数表示最少的移动步数,大于5则输出-1.

Sample Input

2 1 2 3 4 1 2 3 4 1 2 3 4 2 3 4 1 4 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4

Sample Output

1 1

Hint

lcy

Source

HDOJ 2008 Summer Exercise(2)- Hold by Capta

提交代码