[Buổi 16][Hàng đợi & Hàng đợi hai đầu][WS] Bài 1: Vòng quay loại thẻ
Vòng quay loại thẻ
Bối cảnh và bài toán
Có n thẻ đánh số 1..n xếp từ trên xuống dưới. Khi còn ít nhất hai thẻ, hệ thống loại thẻ trên cùng, sau đó chuyển thẻ trên cùng mới xuống cuối. Lặp lại tới khi còn một thẻ.
Yêu cầu
In dãy thẻ bị loại theo thứ tự và thẻ còn lại.
Input
- Một dòng chứa
n.
Output
Dòng 1 in số thẻ bị loại. Dòng 2 in các thẻ bị loại theo thứ tự (có thể rỗng). Dòng 3 in thẻ còn lại.
Ràng buộc
1 <= n <= 1000
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 30% | n <= 10 | 01–03 |
| S2 | 30% | n <= 100 | 04–06 |
| S3 | 40% | Không có ràng buộc bổ sung | 07–10 |
Ví dụ 1
Input
7
Output
6
1 3 5 7 4 2
6
Giải thích. Mỗi vòng loại front rồi chuyển front kế tiếp về back.
Ví dụ 2
Input
1
Output
0
1
Giải thích. Không thực hiện vòng nào vì chỉ có một thẻ.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M05-B16-WS01 |
| Buổi | B16 |
| Loại bài | WORKSHOP |
| Mức độ khó | Dễ (Easy) |
| Thời gian làm bài khuyến nghị | 30 phút |
| Time limit | 1 giây |
| Memory limit | 256 MB |
| Tổng điểm | 100 |
| Chuẩn ngôn ngữ tham chiếu | C++11 trở lên |
Nguồn: Phỏng theo UVa Online Judge 10935 – Throwing cards away I.
Comments