Sắp xếp mảng theo số yêu thích

Đề bài

Mô tả

Có một mảng gồm N ô, đánh số từ 1 đến N. Ban đầu ô thứ i chứa giá trị i.

Mỗi ô có một số yêu thích. Gọi di là số yêu thích của ô thứ i. Trong một nước đi, ô thứ i được phép hoán đổi giá trị đang chứa với ô thứ j nếu |ij|=di. Các ô có thể thực hiện nước đi theo thứ tự bất kỳ, số nước đi không giới hạn.

Cho một hoán vị của các số từ 1 đến N. Hãy xác định xem có thể đưa mảng về đúng trạng thái đó (ô thứ i chứa giá trị pi) hay không.

Dữ liệu vào

  • Dòng đầu chứa số nguyên dương N.
  • Dòng thứ hai chứa N số nguyên phân biệt từ 1 đến N: hoán vị p1,p2,,pN.
  • Dòng thứ ba chứa N số nguyên từ 1 đến N: các số yêu thích d1,d2,,dN.

Dữ liệu ra

In ra YES nếu trạng thái đã cho có thể đạt được, ngược lại in ra NO.

Ràng buộc

  • 1N100
  • 1diN

Ví dụ

Input Output Giải thích
5
5 4 3 2 1
1 1 1 1 1
YES Mọi ô đều có di=1 nên có thể hoán đổi hai ô kề nhau bất kỳ, do đó đạt được mọi hoán vị.
7
4 3 5 1 2 7 6
4 6 6 1 6 6 1
NO Với các số yêu thích này, không có dãy nước đi nào đưa mảng về hoán vị yêu cầu.
7
4 2 5 1 3 7 6
4 6 6 1 6 6 1
YES Cùng bộ số yêu thích như trên nhưng hoán vị đích khác, và lần này trạng thái đạt được.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0