/*
Name: hdu--1548--蜘蛛牌
Author: shen_渊
Date: 17/04/17 09:15
Description: dfs,不好想,看两个大神的代码好久http://www.cnblogs.com/sook/archive/2011/03/27/1996775.html
http://blog.csdn.net/cscj2010/article/details/7364010
*/
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
void dfs(int);
],p[];
int ans,ct;
int main(){
// freopen("in.txt","r",stdin);
ios::sync_with_stdio(false);
int t;cin>>t;
while(t--){
memset(vis,,sizeof(vis));
memset(p,,sizeof(p));
ans = 0xffffff;//0在第一次递归排完之前不能停
ct = ;
; i<; ++i){//p[a] 的位置为i
int a;cin>>a;
p[a] = i;
}
dfs();
cout<<ans<<endl;
}
;
}
void dfs(int num){//num是牌数
){
ans = ct;
return ;
}
; i<; ++i){//i=1全排列不用等于10,毕竟有内循环
if(!vis[i]){
; k<=; ++k){// k<=10,p[10]是10的位置 可以等
if(!vis[k]){
ct += abs(p[i]-p[k]);
if(ans > ct){
vis[i] = ;
dfs(num+);
vis[i] = ;
}
ct -= abs(p[i]-p[k]);
break;
}
}
}
}
}