Thống kê mượn sách và phát hiện trùng ngày tại Thư viện số ThuVienSo
Thang điểm 10 · 5 test case chấm tự động · 4 tiêu chí chấm
Thư viện số ThuVienSo có log gồm n lượt mượn sách. Với lượt mượn thứ i, hệ thống lưu: thời gian mượn t[i] (đơn vị phút) và mã ngày mượn d[i] (số nguyên).
Ban quản trị cần một chương trình thực hiện hai việc nối tiếp nhau:
- Tính tổng thời gian mượn của tất cả
nlượt mượn (dùng một vòng lặp đơn cộng dồn). - Đếm số cặp lượt mượn (i, j) với i < j có cùng mã ngày mượn — đây là các cặp cần rà soát khả năng mượn hộ (dùng vòng lặp lồng nhau so sánh từng cặp).
Sau khi tính xong, hãy áp dụng quy tắc cộng đã học để xác định độ phức tạp thời gian tổng thể của toàn chương trình (chương trình gồm bước 1 có độ phức tạp O(n) chạy nối tiếp với bước 2 có độ phức tạp O(n^2)) và in ra bậc O-lớn đó.
Định dạng vào: dòng 1 là n; dòng 2 gồm n số nguyên là thời gian mượn (phút); dòng 3 gồm n số nguyên là mã ngày mượn.
Định dạng ra: dòng 1 là tổng thời gian mượn; dòng 2 là số cặp lượt mượn cùng ngày; dòng 3 là bậc độ phức tạp thời gian tổng thể (dạng O(n^2)).
| Input | Output | Giải thích |
|---|---|---|
| 4 30 45 20 15 1 2 1 3 | 110 1 O(n^2) | Tổng thời gian = 30+45+20+15=110; lượt 1 và lượt 3 (chỉ số 0 và 2) cùng mã ngày 1 → 1 cặp |
| 3 10 10 10 5 5 5 | 30 3 O(n^2) | Cả 3 lượt cùng ngày 5 nên có C(3,2)=3 cặp |
Giáo viên giao bài này cho lớp, học sinh nộp bài trực tuyến và được chấm tự động.
Giáo viên đăng nhập để giao bàiBài tập khác lớp 11
- Ước lượng thời gian chấm điểm bài thi trắc nghiệm · Lập trình
- Đo đường chéo sân tập thể thao · Lập trình
- Chồng sách trên bàn học · Lập trình
- Thống kê quãng đường chạy bộ của CLB · Lập trình
- Đếm số cách đóng gói đều sản phẩm · Lập trình
- Theo dõi số bước chân của nhóm tập luyện · Lập trình