时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
众所周知 CSL 不仅玩魔方很强,打麻将也很强。今天他打魔法麻将的时候,在路上撞到了一个被打乱的 n 维魔法拼图。每一块拼图的位置用一个 n 维的坐标
)
来表示。将拼图的任意两块交换位置称为一步。CSL 赶着打魔法麻将时间很紧,对步数和时间也很严格,所以需要用
恰好 t 步把拼图复原。请问他能做到吗?
输入描述:
第一行有一个整数 n,表示拼图的维数。
第二行有 n 个整数
,分别表示每一维的大小。
下面

行,每行有 n 个整数:第

行表示 第 i 块拼图的初始位置
)
,第

行表示第 i 块拼图的目标位置
)
,保证不会有多个拼图在同一初始位置或目标位置。
最后一行有一个整数 t,表示 CSL 要求的步数。
输出描述:
如果 CSL 可以用恰好 t 步复原,在一行输出 "YES",否则输出 "NO"。
示例2
输入
复制
2
2 2
1 2
2 1
1 1
2 2
2 1
1 2
2 2
1 1
2