Hoán vị xanh đỏ
Đề bài
Mô tả
Cho một mảng số nguyên gồm phần tử. Các phần tử có thể bằng nhau hoặc khác nhau.
Mỗi phần tử được tô một trong hai màu: xanh (kí hiệu B) hoặc đỏ (kí hiệu R). Không có phần tử nào chưa được tô màu. Mỗi bước, bạn được thực hiện một trong hai thao tác sau:
- chọn một phần tử màu xanh bất kì và giảm giá trị của nó đi ;
- hoặc chọn một phần tử màu đỏ bất kì và tăng giá trị của nó lên .
Số bước là không giới hạn, và có thể xảy ra trường hợp mảng chỉ toàn một màu (khi đó một trong hai thao tác không dùng được).
Hãy xác định xem có thể thực hiện hoặc nhiều bước để mảng trở thành một hoán vị của các số từ đến hay không. Nói cách khác, sau khi thực hiện các bước, mảng phải chứa tất cả các số , mỗi số đúng một lần, theo thứ tự bất kì.
Dữ liệu vào
- Dòng đầu chứa số nguyên là số bộ dữ liệu.
- Mỗi bộ dữ liệu gồm ba dòng:
- Dòng thứ nhất chứa số nguyên là độ dài mảng .
- Dòng thứ hai chứa số nguyên .
- Dòng thứ ba là một xâu độ dài chỉ gồm các kí tự B và R: kí tự thứ là B nếu màu xanh, là R nếu màu đỏ.
Dữ liệu ra
In ra dòng, dòng thứ là câu trả lời cho bộ dữ liệu thứ : YES nếu có thể biến mảng thành một hoán vị, NO nếu không thể.
Ràng buộc
- Tổng trên tất cả các bộ dữ liệu không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 8 4 1 2 5 2 BRBR 2 1 1 BB 5 3 1 4 2 5 RBRRB 5 3 1 3 1 3 RBRRB 5 5 1 5 1 5 RBRRB 4 2 2 2 2 BRBR 2 1 -2 BR 4 -2 -1 4 0 RRRR |
YES NO YES YES NO YES YES YES |
Bộ 1: giảm từ xuống rồi tăng từ lên , được . Bộ 2: cả hai phần tử đều màu xanh và bằng , chỉ giảm được nên không thể tạo ra số . Bộ 5: ba phần tử đỏ mang giá trị chỉ tăng được, không thể tạo ra hai số phân biệt nhỏ hơn trong . Bộ 8: mọi phần tử đỏ đều nhỏ hơn hoặc bằng nên tăng lên được . |
| 10 1 1 B 1 1 R 1 0 B 1 0 R 1 2 B 1 2 R 1 1000000000 B 1 1000000000 R 1 -1000000000 B 1 -1000000000 R |
YES YES NO YES YES NO YES NO NO YES |
Với mục tiêu duy nhất là số . Phần tử xanh phải có giá trị lớn hơn hoặc bằng (giảm xuống được), phần tử đỏ phải có giá trị nhỏ hơn hoặc bằng (tăng lên được). |
| 8 3 1 2 3 BBB 3 3 2 1 BBB 3 1 1 1 BBB 3 5 5 5 BBB 3 1 2 2 BBB 3 2 2 1 BBB 3 1 1 3 BBB 3 0 5 5 BBB |
YES YES NO YES NO NO NO NO |
Khi toàn bộ mảng màu xanh, sắp xếp tăng dần rồi gán lần lượt các mục tiêu . Bộ 4 với vẫn được YES vì cả ba đều giảm xuống được, còn bộ 8 với thất bại ngay ở phần tử . |
Bình luận