CF724B.Batch Sort

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a table consisting of n rows and m columns.

Numbers in each row form a permutation of integers from 1 to m.

You are allowed to pick two elements in one row and swap them, but no more than once for each row. Also, no more than once you are allowed to pick two columns and swap them. Thus, you are allowed to perform from 0 to n + 1 actions in total. Operations can be performed in any order.

You have to check whether it's possible to obtain the identity permutation 1, 2, ..., m in each row. In other words, check if one can perform some of the operation following the given rules and make each row sorted in increasing order.

你被给定一个由 nn 行和 mm 列组成的表格。

每行中的数字构成整数 11 到 mm 的一个排列。

你被允许在某一行中任选两个元素并交换它们,但每一行最多只能执行一次这样的操作。此外,你最多只能执行一次列交换操作:即任选两列并交换它们。因此,你总共最多可以执行 n+1n + 1 次操作(也可以不执行任何操作)。这些操作可以以任意顺序执行。

你需要判断:是否可以通过执行若干次符合上述规则的操作,使得每一行都变成单位排列 1, 2, …, m1,\,2,\,\dots,\,m。换言之,请判断能否在给定规则下,通过若干次操作使每一行均按升序排列。

输入格式

The first line of the input contains two integers n and m (1 ≤ n, m ≤ 20) — the number of rows and the number of columns in the given table.

Each of next n lines contains m integers — elements of the table. It's guaranteed that numbers in each line form a permutation of integers from 1 to m.

输入的第一行包含两个整数 nn 和 mm(1 ≤ n, m ≤ 201 ≤ n, m ≤ 20),分别表示给定表格的行数和列数。

接下来的 nn 行,每行包含 mm 个整数——即表格的元素。保证每行中的数字构成 11 到 mm 的一个排列。

输出格式

If there is a way to obtain the identity permutation in each row by following the given rules, print "YES" (without quotes) in the only line of the output. Otherwise, print "NO" (without quotes).

如果可以通过遵循给定规则使每一行都变为单位排列,则在输出的唯一一行中打印 "YES"(不带引号)。否则,打印 "NO"(不带引号)。

输入输出样例

  • 输入#1

    2 4
    1 3 2 4
    1 3 4 2

    输出#1

    YES
  • 输入#2

    4 4
    1 2 3 4
    2 3 4 1
    3 4 1 2
    4 1 2 3

    输出#2

    NO
  • 输入#3

    3 6
    2 1 3 4 5 6
    1 2 4 3 5 6
    1 2 3 4 6 5

    输出#3

    YES

说明/提示

In the first sample, one can act in the following way:

  1. Swap second and third columns. Now the table is

    1 2 3 4

    1 4 3 2

  2. In the second row, swap the second and the fourth elements. Now the table is

    1 2 3 4

    1 2 3 4

在第一个样例中,可以按以下方式操作:

  1. 交换第二列和第三列。此时表格变为

    1 2 3 4

    1 4 3 2

  2. 在第二行中,交换第二个元素和第四个元素。此时表格变为

    1 2 3 4

    1 2 3 4

输入解题思路,AI测评打分。不知道怎么写?

首页