转换数列
#描述#
一个数列转换到另一个数列,可以用一个转换数列来描述.这里所说的转换只是简单地调换下数列中一些数的位置.例如{a,b,c,d} => {b,c,a,d}
<BR>
转换数列由N个数组成,每个数分别是0,1,2..,N-1中的一个,且这N个数全部出现.如果转换数列的第i个数是j,则表示原数列的第i个数被放到了目标数列的第j个位置. 例如转换数列是{2,1,0,3},那么转换是这样的{a,b,c,d} => {c,b,a,d}.
<BR>
令长度为N的数列原始数列都是{0,1,2…,N-1}
<BR>
给出转换数列和目标数列,让你求最少经过多少次转换才能得到目标数列.
#格式#
##输入格式##
多组数据,每组数据第一行是N(N<=10)
第二行是N个数,表示转换数列
第三行也是N个数,表示目标数列
##输出格式##
输出最少要转换多少次,如果永远不能得到目标数列则输出impossible
#样例1#
##样例输入1##
3
2 0 1
2 0 1
4
3 0 1 2
2 0 1 3
##样例输出1##
2
impossible
#限制#
1000ms
32768KB
#提示#
#来源#
zjut_DD