| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Phân loại bưu kiện | 100 (p) | 1.0s | 256M |
| 2 | Hành trình robot | 100 (p) | 1.0s | 256M |
| 3 | Tập phân biệt | 100 (p) | 1.0s | 256M |
| 4 | Các phép toán trên tập hợp | 100 (p) | 1.0s | 256M |
Bưu điện trung tâm vừa nhận được \(N\) gói hàng. Mỗi gói hàng có một mã số (\(ID\)) và mã vùng nhận (\(RegionID\)) tương ứng. Bạn hãy giúp nhân viên bưu điện xếp các gói hàng này vào đúng giỏ của từng vùng.
Giả sử có \(M\) vùng (đánh số từ \(1\) đến \(M\)). Với mỗi gói hàng có (\(ID, RegionID\)), hãy thêm \(ID\) vào danh sách của vùng tương ứng.
Test 1
5 3
101 1
102 2
103 3
104 3
105 1
Vung 1: 101 105
Vung 2: 102
Vung 3: 103 104
Một robot thám hiểm di chuyển lần lượt qua \(N\) trạm kiểm soát theo thứ tự từ \(1\) đến \(N\). Bạn được cho tọa độ \((x, y)\) của từng trạm. Hãy tính tổng quãng đường mà robot đã di chuyển.
Quy ước: Khoảng cách giữa hai điểm \(A(x_A, y_A)\) và \(B(x_B, y_B)\) được tính theo công thức Manhattan:
Để giải quyết bài toán này, bạn cần hiện thực một hàm tính khoảng cách Manhattan giữa hai điểm và sử dụng nó để tính tổng quãng đường.
Học sinh nên thiết kế hàm tính khoảng cách có dạng như sau:
long long distance(pair<int, int> a, pair<int, int> b) {
// Hoàn thiện hàm tính khoảng cách Manhattan
}
Test 1
3
0 0
0 2
2 2
4
Trong một vương quốc nọ, Quốc vương quyết định tổ chức một bữa tiệc linh đình và mời tất cả thần dân tham dự. Mỗi người dân khi đến cổng hoàng cung đều được phát một tấm thẻ ghi một con số may mắn \(a_i\). Tuy nhiên, vì quá đông người, có rất nhiều người nhận được những con số giống hệt nhau.
Để chuẩn bị quà tặng một cách khoa học, Quốc vương yêu cầu quan Tể tướng phải thống kê lại danh sách các con số may mắn đã được phát ra. Quan Tể tướng cần phải lọc bỏ các con số trùng lặp và liệt kê chúng theo thứ tự từ nhỏ đến lớn. Bạn hãy giúp quan Tể tướng hoàn thành nhiệm vụ này nhé!
Test 1
6
5 1 2 5 2 3
1 2 3 5
Test 2
4
10 10 10 10
10
Tí và Tèo rất yêu thích toán học, đặc biệt là các phép toán trên tập hợp. Một ngày nọ, Tí đưa cho Tèo hai tập hợp số nguyên \(A\) và \(B\). Tí thách đố Tèo thực hiện ba phép toán cơ bản sau đây trên hai tập hợp này:
Các phần tử trong mỗi tập hợp kết quả phải được liệt kê theo thứ tự tăng dần. Bạn hãy giúp Tèo hoàn thành thử thách này nhé!
Test 1
5 4
1 2 3 4 5
3 4 5 6
3 4 5
1 2
1 2 3 4 5 6
Test 2
3 3
10 20 30
40 50 60
10 20 30
10 20 30 40 50 60
Ở Test 2, phép giao \(A \cap B\) là tập rỗng nên dòng đầu tiên để trống.