CEOI 2016 - Trick
Xem PDFMột nhóm du khách đến thăm lâu đài Bran bị Bá tước Dracula bắt giữ. Trong nhóm có một nhà ảo thuật. Ông thỏa thuận với Bá tước rằng nếu biểu diễn thành công một tiết mục, tất cả du khách sẽ được thả.
Tiết mục cần hai trợ lý. Sau khi bắt đầu, nhà ảo thuật không được trao đổi với hai trợ lý; hai trợ lý cũng không được trao đổi với nhau. Bá tước chuẩn bị bộ bài gồm các số từ \(0\) đến \(2N\), mỗi số xuất hiện đúng một lần, rồi giấu một lá bài. Trong \(2N\) lá còn lại, Bá tước đưa \(N\) lá cho trợ lý thứ nhất và những lá còn lại cho trợ lý thứ hai.
Mỗi trợ lý chọn hai lá trong tay mình và đưa chúng cho nhà ảo thuật theo một thứ tự xác định. Dựa vào bốn lá nhận được và không có thông tin nào khác, nhà ảo thuật phải đoán chính xác lá bài bị giấu.
Chương trình của bạn sẽ được chạy ba lần cho mỗi tệp kiểm thử: lần thứ nhất đóng vai trợ lý thứ nhất, lần thứ hai đóng vai trợ lý thứ hai, và lần thứ ba đóng vai nhà ảo thuật. Mỗi lần chạy xử lý toàn bộ các lượt trong tệp.
Dữ liệu vào
Dòng đầu chứa số nguyên \(T\), là số lượt biểu diễn trong tệp. Dòng thứ hai chứa số nguyên \(R \in \{1,2,3\}\), là vai trò của chương trình.
Với mỗi lượt \(i\):
- Dòng tiếp theo chứa số nguyên \(N_i\).
- Nếu \(R=1\) hoặc \(R=2\), dòng kế tiếp chứa \(N_i\) số nguyên là các lá bài trong tay trợ lý tương ứng.
- Nếu \(R=3\), dòng kế tiếp chứa bốn số nguyên: hai lá trợ lý thứ nhất đã đưa ra, theo đúng thứ tự, rồi đến hai lá trợ lý thứ hai đã đưa ra, theo đúng thứ tự.
Dữ liệu ra
Với mỗi lượt, in một dòng:
- Nếu \(R=1\) hoặc \(R=2\), in hai số nguyên phân biệt là hai lá được chọn. Cả hai lá phải thuộc bộ bài mà trợ lý nhận được.
- Nếu \(R=3\), in một số nguyên là lá bài bị giấu.
Ràng buộc
- \(1 \le T\).
- \(6 \le N_i \le 1\,234\,567\).
- \(N_1+N_2+\cdots+N_T \le 1\,234\,567\).
Phân nhóm
- Có \(29\%\) số điểm với \(N_i=6\) trong mọi lượt.
- Có thêm \(19\%\) số điểm với \(6 \le N_i \le 30\) và tổng các \(N_i\) không vượt quá \(123\,456\).
- Có thêm \(30\%\) số điểm với \(6 \le N_i \le 500\), tổng các \(N_i\) không vượt quá \(123\,456\), và có nhiều nhất \(10\) lượt có \(N_i>50\).
- \(22\%\) số điểm còn lại không có ràng buộc bổ sung.
Ví dụ
Mỗi khối dưới đây là một lần chạy riêng. Ba lần chạy tương ứng với ba vai trò của chương trình.
:::sample
2
1
6
6 1 2 5 7 10
6
9 8 2 0 4 6
1 2
8 4
:::
:::sample
2
2
6
3 0 4 9 12 8
6
7 1 11 10 3 5
4 3
1 3
:::
:::sample
2
3
6
1 2 4 3
6
8 4 1 3
11
12
:::
Trong ví dụ, trợ lý thứ nhất và thứ hai lần lượt đưa ra hai cặp bài cho từng lượt. Nhà ảo thuật dùng bốn lá đó để đoán các lá bị giấu là \(11\) và \(12\).
Nguồn
CEOI 2016, ngày 1, bài 3.
Kỳ thi:
- CEOI 2016 - Ngày 1 (20 Tháng bảy, 2016)
Bình luận