[POI2009]Prz
你的任务是计算一个函数 ,其中 和 是两个正整数序列。 的定义如下:
boolean F(x, y)
if W(x) != W(y) then
return 0
else if |W(x)| = |W(y)| = 1 then
return 1
else
return F(p(x), p(y)) and F(s(x), s(y))
其中:
- 表示序列 中元素的集合(元素的顺序和出现次数将被无视);
- 表示序列 的最长前缀,满足 ;
- 表示序列 的最长后缀,满足 ;
- 表示集合 中元素个数。
输入格式
第一行一个整数 ,表示数据组数。
对于每组数据,第一行两个整数 ,分别表示 序列的长度与 序列的长度;第二行 个数表示 ;第三行 个数表示 。
输出格式
输出 行,对于每组数据,若 为真则输出 ,否则输出 。
样例输入
2
4 5
3 1 2 1
1 3 1 2 1
7 7
1 1 2 1 2 1 3
1 1 2 1 3 1 3
样例输出
0
1
数据范围
- ;
- ;
- 。
来源与许可
本题为 POI 2009 试题「Prz」,题面与测试数据整理自 BZOJ 1118,译文由 MT 贡献。
样例 1
输入
2
4 5
3 1 2 1
1 3 1 2 1
7 7
1 1 2 1 2 1 3
1 1 2 1 3 1 3
输出
0
1