Trao đổi thẻ số
Đề bài
Mô tả
Eugeny có tấm thẻ, tấm thứ ghi số nguyên dương . Nikolay có tấm thẻ ghi các số , mỗi số xuất hiện trên đúng một tấm thẻ.
Một lần trao đổi là việc Eugeny đưa cho Nikolay một tấm thẻ của mình và lấy về một tấm thẻ bất kỳ mà Nikolay đang giữ.
Eugeny muốn bộ thẻ của mình sau khi trao đổi thoả mãn đồng thời hai điều kiện:
- Các số ghi trên tấm thẻ đôi một phân biệt.
- Số lượng số chẵn bằng số lượng số lẻ, tức là mỗi loại đúng số.
Lưu ý rằng các số ban đầu có thể lớn hơn , và mọi tấm thẻ lấy từ Nikolay đều mang giá trị trong đoạn .
Hãy tìm số lần trao đổi ít nhất và chỉ ra một bộ thẻ cuối cùng tương ứng.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và là số thẻ của Eugeny và số thẻ của Nikolay.
- Dòng thứ hai chứa số nguyên dương .
Dữ liệu ra
Nếu không tồn tại cách trao đổi thoả mãn, in ra .
Ngược lại:
- Dòng đầu in số lần trao đổi ít nhất.
- Dòng thứ hai in số nguyên là bộ thẻ của Eugeny sau khi trao đổi, theo đúng thứ tự vị trí ban đầu. Nếu thẻ thứ không bị đổi thì số thứ phải bằng , ngược lại số thứ là giá trị của tấm thẻ nhận về.
Nếu có nhiều đáp án, in ra một đáp án bất kỳ.
Ràng buộc
- và chẵn
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 2 5 6 7 9 4 5 |
1 5 6 7 9 4 2 |
Số 5 xuất hiện hai lần nên tấm thẻ cuối buộc phải đổi. Đổi nó lấy thẻ số 2, thu được ba số lẻ và ba số chẵn , tất cả đều phân biệt. |
| 8 6 7 7 7 7 8 8 8 8 |
6 7 1 3 5 8 2 4 6 |
Chỉ giữ lại được một thẻ và một thẻ , sáu thẻ còn lại phải đổi. Nikolay có các thẻ , lấy để đủ bốn số lẻ và để đủ bốn số chẵn. |
| 4 1 4 2 1 10 |
-1 | Cần đúng hai số lẻ nhưng Eugeny chỉ có một số lẻ là , còn Nikolay chỉ có duy nhất thẻ số đã nằm sẵn trong bộ. Không thể bổ sung thêm số lẻ nào. |
Bình luận