Đảo dấu dãy số
Đề bài
Mô tả
Cho một dãy số nguyên với chẵn. Bạn cần biến dãy này thành .
Bạn được phép thực hiện các thao tác, mỗi thao tác chọn hai chỉ số và với rồi làm một trong hai việc:
- Gán
- Gán
Số thao tác không được vượt quá , và sau mỗi thao tác không phần tử nào được có giá trị tuyệt đối lớn hơn .
Có thể chứng minh rằng luôn tồn tại đáp án. Bạn không cần cực tiểu hoá số thao tác.
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 hai dòng:
- Dòng thứ nhất chứa số nguyên chẵn .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
Với mỗi bộ dữ liệu:
- Dòng đầu in ra số thao tác với .
- dòng tiếp theo, mỗi dòng in ra ba số
type i j, trong đótypebằng hoặc tương ứng với loại thao tác, và .
Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.
Ràng buộc
- , chẵn
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 4 1 1 1 1 4 4 3 1 2 |
12 1 1 2 2 1 2 1 1 2 2 1 2 1 1 2 2 1 2 1 3 4 2 3 4 1 3 4 2 3 4 1 3 4 2 3 4 12 1 1 2 2 1 2 1 1 2 2 1 2 1 1 2 2 1 2 1 3 4 2 3 4 1 3 4 2 3 4 1 3 4 2 3 4 |
Sáu thao tác đầu xử lý cặp : dãy lần lượt thành . Sáu thao tác sau làm tương tự với cặp . Đáp án của đề bài gốc chỉ dùng thao tác, nhưng vì không cần cực tiểu hoá nên vẫn được chấp nhận. |
| 1 2 1 1 |
6 1 1 2 2 1 2 1 1 2 2 1 2 1 1 2 2 1 2 |
Chỉ có một cặp duy nhất, sáu thao tác biến thành . |
Bình luận