trang chủ / đề bài / batchsort

Sắp xếp theo lô

Đề bài

Mô tả

Cho một bảng gồm n hàng và m cột. Các số trên mỗi hàng tạo thành một hoán vị của 1,2,…,m.

Bạn được phép thực hiện các thao tác sau (theo thứ tự bất kỳ):

  • Với mỗi hàng, chọn hai vị trí trong hàng đó và đổi chỗ chúng — nhiều nhất một lần cho mỗi hàng.
  • Trên toàn bảng, chọn hai cột và đổi chỗ chúng — nhiều nhất một lần tổng cộng.

Như vậy bạn có thể thực hiện từ 0 đến n+1 thao tác. Hãy kiểm tra xem có thể biến mỗi hàng trở thành hoán vị đồng nhất 1,2,…,m hay không.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và m.
  • n dòng tiếp theo, mỗi dòng chứa m số nguyên — các phần tử trên một hàng của bảng.

Dữ liệu ra

  • In ra YES nếu có thể, ngược lại in ra NO.

Ràng buộc

  • 1≤n,m≤20
  • Mỗi hàng là một hoán vị của 1,2,…,m.

Ví dụ

Input Output Giải thích
2 4
1 3 2 4
1 3 4 2
YES Đổi cột 2 và cột 3, bảng trở thành 1 2 3 4 / 1 4 3 2. Sau đó trên hàng 2, đổi chỗ vị trí 2 và 4 để được 1 2 3 4.
4 4
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
NO Không có cách nào đưa cả bốn hàng về hoán vị đồng nhất.
3 6
2 1 3 4 5 6
1 2 4 3 5 6
1 2 3 4 6 5
YES Không cần đổi cột; mỗi hàng chỉ cần một thao tác đổi chỗ trong nội bộ hàng.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0