# ĐỀ KIỂM TRA LỚP 10 TIN Trường ĐHSP Hà Nội - Trường THPT Chuyên Môn thi: Tin học - Ngày 01/10/2015 Thời gian làm bài: 180 phút ## TỔNG QUAN VỀ ĐỀ THI | Bài | Tên file bài làm | Giới hạn mỗi test | Điểm | | :---: | ---------------- | :---------------: | :--: | | 1 | `NEGPAIRS.*` | 0.5 giây | 100 | | 2 | `DCOUNT.*` | 0.5 giây | 100 | | 3 | `SUMAVR.*` | 0.5 giây | 100 | | 4 | `ZPAIRS.*` | 0.5 giây | 100 | | 5 | `HAMMING.*` | 0.5 giây | 100 | Phần mở rộng `*` là PAS hay CPP tùy theo ngôn ngữ và môi trường lập trình (Free Pascal hay CodeBlock). ## Bài 1. CẶP SỐ ĐỐI NHAU (NEGPAIRS.*) Cho dãy số nguyên A = (a1, a2, ..., an). Hãy cho biết có bao nhiêu cặp chỉ số (i, j) trong đó i ≠ j thỏa mãn ai = −aj **Dữ liệu:** Vào từ thiết bị nhập chuẩn: * Dòng 1 chứa số nguyên dương n ≤ 106 * Dòng 2 chứa n số nguyên a1, a2, ..., an cách nhau bởi dấu cách (∀i: |ai| ≤ 100) **Kết quả:** Ghi ra thiết bị xuất chuẩn một số nguyên duy nhất là số cặp i ≠ j thỏa mãn ai = −aj. **Ví dụ:** | Sample Input | Sample Output | | ------------------------- | :-----------: | | 9
-3 -2 -1 0 9 0 1 2 3 | 4 | | 6
0 0 0 0 | 6 | ## Bài 2. THỐNG KÊ (DCOUNT.*) Cho dãy số nguyên không âm A = (a1, a2, ..., an) gồm n phần tử. **Yêu cầu:** Hãy đếm số lượng các giá trị khác nhau có trong dãy A và đưa ra số lần xuất hiện của phần tử xuất hiện nhiều nhất? **Dữ liệu:** Vào từ thiết bị nhập chuẩn * Dòng đầu ghi số n (n ≤ 106) * Dòng tiếp theo gồm n số là các phần tử của dãy A, (0 ≤ ai ≤ 106) **Kết quả:** Ghi ra thiết bị xuất chuẩn gồm 2 số k và t: k là số lượng các giá trị khác nhau và t là số lần xuất hiện của phần tử xuất hiện nhiều nhất trong dãy đã cho. **Ví dụ:** | Sample Input | Sample Output | | ----------------------- | ------------- | | 8
11 2 13 4 50 2 2 3 | 6 3 | *Giải thích: có 6 giá trị khác nhau trong dãy là 2, 3, 4, 11, 13 và 50, số 2 xuất hiện nhiều nhất là 3 lần.* ## Bài 3. TRUNG BÌNH CỘNG (SUMAVR.*) Cho dãy số nguyên B = (b1, b2, ..., bn), hãy tìm dãy số nguyên A = (a1, a2, ..., an) sao cho ∀i: 1 ≤ i ≤ n trung bình cộng của i phần tử đầu tiên trong dãy A đúng bằng bi: a1 + a2 + ... + an = bi x i, ∀i = 1, 2, ..., n **Dữ liệu:** Vào từ thiết bị nhập chuẩn: * Dòng 1 chứa số nguyên dương n ≤ 105 * Dòng 2 chứa n số nguyên b1, b2, ..., bn cách nhau bởi dấu cách (∀i: |bi| ≤ 109) **Kết quả:** Ghi ra thiết bị xuất chuẩn n số a1, a2, ..., an theo đúng thứ tự cách nhau bởi dấu cách. **Ví dụ:** | Sample Input | Sample Output | | -------------- | ------------- | | 5
1 2 2 3 4 | 1 3 2 6 8 | ## Bài 4. GHÉP CẶP (ZPAIRS.*) Cho hai dãy số A = (a1, a2, ..., an) và dãy số B = (b1, b2, ..., bn) đã được sắp theo thứ tự không giảm. Một phép ghép cặp là phép lấy một phần tử ai của dãy A và một phần tử bj của dãy B thành một cặp (ai, bj). Chi phí của cặp này được tính bằng |ai − bj|. **Yêu cầu:** Tính xem có thể ghép tối đa được bao nhiêu cặp sao cho tổng chi phí của các cặp = 0. Biết rằng, mỗi phần tử trong A cũng như trong B chỉ được ghép vào một cặp duy nhất. **Dữ liệu:** Vào từ thiết bị nhập chuẩn: * Dòng 1: 2 số n, m lần lượt là số phần tử của dãy A, B (n, m ≤ 105). * Dòng 2: gồm n số nguyên sắp theo thứ tự không giảm là dãy A = (a1, a2, ..., an), |ai| ≤ 109. * Dòng 3: gồm m số nguyên sắp theo thứ tự không giảm là dãy B = ,(b1, b2, ..., bn) |bi| ≤ 109. **Kết quả:** Ghi ra thiết bị xuất chuẩn gồm duy nhất một số k là số cặp ghép lớn nhất tìm được thỏa mãn yêu cầu đề bài. **Ví dụ:** | Sample Input | Sample Output | | --------------------------- | ------------- | | 4 5
1 2 2 3
2 3 5 5 5 | 2 | ## Bài 5. DÃY SỐ HAMMING (HAMMING.*) Dãy số nguyên dương tăng dần trong đó, phần tử đầu tiên là a1 = 1, các phần tử tiếp theo có ước nguyên tố của mỗi số không quá 5 được gọi là dãy hamming. Như vậy, 10 = 2 x 5 sẽ là một số trong hãy Hamming, còn 26 = 2 x 13 không thuộc dãy hamming. Phần đầu của dãy Hamming là: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, ... **Yêu cầu:** Cho một dãy gồm n số nguyên a1, a2, ..., an (ai ≤ 109). Với mỗi số ai hãy kiểm tra xem nó có thuộc dãy số Hamming? **Dữ liệu:** Vào từ thiết bị nhập chuẩn: * Dòng đầu là số n (n ≤ 105) * n dòng tiếp theo, mỗi dòng ghi một số nguyên của dãy a1, a2, ..., an (ai ≤ 109). **Kết quả:** Ghi ra thiết bị xuất chuẩn gồm n dòng mỗi dòng gồm YES hoặc NO tương ứng với mỗi số ai có/không thuộc dãy Hamming. **Ví dụ:** | Sample Input | Sample Output | | ------------ | ------------- | | 11 | YES | | 1 | YES | | 2 | YES | | 6 | NO | | 7 | YES | | 8 | YES | | 9 | YES | | 10 | NO | | 11 | YES | | 12 | NO | | 13 | NO | | 14 | |