Hoán đổi phần tử kề nhau
Đề bài
Mô tả
Cho một mảng gồm số nguyên. Mỗi số nguyên từ đến xuất hiện đúng một lần trong mảng (mảng là một hoán vị của ).
Với một số vị trí (), bạn được phép hoán đổi phần tử thứ với phần tử thứ ; với các vị trí khác thì không được phép. Bạn có thể thực hiện thao tác hoán đổi bao nhiêu lần tùy ý, theo thứ tự bất kỳ, và không giới hạn số lần hoán đổi tại mỗi vị trí được phép.
Hỏi có thể sắp xếp mảng tăng dần bằng một dãy các thao tác hoán đổi hợp lệ hay không?
Dữ liệu vào
- Dòng đầu chứa số nguyên — số phần tử của mảng.
- Dòng thứ hai chứa số nguyên — các phần tử của mảng.
- Dòng thứ ba chứa một xâu gồm ký tự, mỗi ký tự là 0 hoặc 1. Nếu ký tự thứ là 1 thì được phép hoán đổi phần tử thứ với phần tử thứ (bao nhiêu lần tùy ý), ngược lại thì không được phép.
Dữ liệu ra
In ra YES nếu có thể sắp xếp mảng tăng dần, ngược lại in ra NO.
Ràng buộc
- , mỗi số từ đến xuất hiện đúng một lần.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 1 2 5 3 4 6 01110 |
YES | Có thể hoán đổi và , rồi hoán đổi và để được mảng tăng dần. |
| 6 1 2 5 3 4 6 01010 |
NO | Vị trí và không được phép hoán đổi nên không thể đưa số và về đúng chỗ. |
Bình luận