You are on page 1of 2

UBND HUYỆN BÌNH XUYÊN ĐỀ THI CHỌN HỌC SINH GIỎI CẤP HUYỆN

PHÒNG GIÁO DỤC VÀ ĐÀO TẠO NĂM HỌC 2015 - 2016


MÔN: TIN HỌC, LỚP 8
ĐỀ CHÍNH THỨC Thời gian làm bài: 150 phút ( không kể thời gian giao đề)

(Đề bài gồm 02 trang)

Tổng quan:
File chương
Tên bài Dữ liệu vào Kết quả Thời gian Bộ nhớ
trình
Dãy con subseq.* subseq.inp subseq.out 1 giây 256 Mb
z-sort zsort.* zsort.inp zsort.out 1 giây 256 Mb
Dạo chơi zwalk.* zwalk.inp zwalk.out 1 giây 256 Mb
Chú ý: Thí sinh thay * trong File chương trình thành PAS hoặc CPP tùy theo ngôn ngữ lập
trình thí sinh sử dụng là Pascal hoặc C/C++
Lập chương trình giải các bài toán sau đây:
Dã y con
Cho dãy gồm N số nguyên dương. Có thể tạo thành một dãy con chỉ gồm 3 phần tử mà giá
trị của mỗi hai phần tử bất kỳ không được bằng nhau và hơn kém nhau không quá 2 đơn vị?
Dữ liệu:
 Dòng đầu ghi số N
 Dòng sau ghi N số nguyên dương t1, t2, …, tn
Kết quả:
 In ra số 1 nếu có thể tạo thành dãy con với điều kiện trên hoặc -1 trong trường hợp
ngược lại
Ví dụ :
input output
3 1
123
4 -1
2355
Ràng buộc:
 3 <= N <= 50, 1<=ti <= 1000
 Chương trình chỉ ghi 1 hoặc -1 sẽ nhận điểm 0 của bài.
z-sort
Một sinh viên đã phát triển một giải thuật sắp xếp mảng, tạm gọi là z-sort. Mảng a với n
phần tử được sắp xếp được gọi là z-sort nếu nó thỏa mãn hai điều kiện:
 ai >= ai-1 với mọi i là chẵn.
 ai <= ai-1 với mọi i lẻ > 1.
Ví dụ: mảng [1, 2, 1, 2] và [1, 1, 1, 1] là mảng z-sort, còn mảng [1, 2, 3, 4] thì không.
Bạn có thể z-sort một mảng nào đó không?
Dữ liệu:
 Dòng đầu ghi số nguyên n, (1 <= n <= 1000) – số phần tử của mảng a
 Dòng hai ghi n số nguyên ai (1 <= ai <= 109) – phần của của mảng a
Kết quả:
 In ra mảng z-sort nếu có thể được, ngược lại ghi ra -1
http://violet.vn/nguyenthienhuongvp77
Ví dụ :
input output
4 1212
1221
5 15232
13225
Dạ o chơi trong khu rừ ng.
Bờm vốn rất yêu thích thiên nhiên, và phần lớn thời gian cậu dành cho rừng. Nơi đó có không khí
trong lành và những âm thanh đáng yêu khiến rừng trở thành một địa điểm đến hấp dẫn. Chiều nay
Bờm có kế hoạch dạo chơi trong khu rừng. Vì là người thực tế, Bờm có kế hoạch nhét đầy bụng hoa
quả nhặt được trong đó, đương nhiên, cái bụng của Bờm chỉ chứa được một lượng thức ăn là C.
Bờm sẽ có cơ hội ăn các loại quả như nấm, hạt dẻ, các loại quả chín mọng,… trong khi đi bộ. Các
loại trái cây có thể rơi xen kẽ nhau trên đường đi và Bờm thì muốn ăn càng nhiều loại trái cây càng
tốt, và đương nhiên không thể ăn quá nhiều. Nghĩa là tổng trọng lượng của các loại trái cây Bờm ăn
sẽ không vượt quá C.
Khi Bờm quyết định chén trái cây thì Bờm sẽ cố gắng ăn quả tiếp theo nếu có thể ăn nó. Nếu
không ăn được, Bờm sẽ bỏ quả đó lại và đi tiếp.
Cho mảng trọng số các loại trái cây, tính toán số lượng quả lớn nhất mà Bờm có thể ăn.
Dữ liệu:
 Dòng đầu ghi hai số nguyên dương N và C, (1<=N<=1000, 1<=C<=1 000 000)
 Dòng hai ghi N số nguyên wi (1<=wi<=1000) – trọng lượng của quả thứ i.
Kết quả:
 Số lượng các loại quả khác nhau tối đa mà Bờm có thể ăn.
Ví dụ:
input output
55 4
31211
75 3
1543211
5 10 3
32543
Giải thích:
Ví dụ 1: Với trọng lượng không vượt quá 5, Bờm có thể ăn như sau: hoặc là 3+2, hoặc là 3 +
1 + 1 hoặc là 1 + 2 + 1 + 1. Tổng số loại quả nhiều nhất mà Bờm có thể ăn là 4.

-----------HẾT-------------
(Thí sinh không được sử dụng tài liệu. Cán bộ coi thi không giải thích gì thêm)
Họ và tên thí sinh:…………………….………....; Số báo danh……………

http://violet.vn/nguyenthienhuongvp77

You might also like