#P1599. Batch Sort

    ID: 1599 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>基础算法模拟语言入门数组CodeForces

Batch Sort

题目描述

现在给你一个 nnmm 列的数字矩阵,每一行的元素是一个 11mm 的全排列。你可以在每一行中选取两个元素并交换它们,但是每一行这样的操作不能超过一次。同样的,你可以选择两列并交换它们,这样的操作不能超过 11 次。

显而易见的,你一共可以进行 00n+1n+1 次这样的操作。而且操作顺序可以任意。

现在给你的任务是判断能否在进行一系列操作后使得每一行的数字从小到大排列,即 11mm。换句话说,就是能否按照给出的规则进行操作使每一行单调递增。

输入格式

第一行两个正整数 nnm (1n,m20)m\ (1 \le n,m \le 20),表示数字矩阵的行数和列数。

接下来第 22n+1n+1 行,每行 mm 个数字,代表每行的元素。数据保证每行是一个 11mm 的全排列。

输出格式

如果有方法可以在规则约束下达成目标,则输出 YES,否则输出 NO

2 4
1 3 2 4
1 3 4 2
YES
4 4
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
NO
3 6
2 1 3 4 5 6
1 2 4 3 5 6
1 2 3 4 6 5
YES