Đáp án-Đề HSG Tin 9-Ninh Bình12-13

Chia sẻ bởi Nguyễn Thị Hiền | Ngày 16/10/2018 | 48

Chia sẻ tài liệu: Đáp án-Đề HSG Tin 9-Ninh Bình12-13 thuộc Tin học 9

Nội dung tài liệu:

SỞ GD&ĐT NINH BÌNH




ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 9 THCS
Năm học 2012 – 2013
MÔN:TIN HỌC
(Thời gian làm bài 150 phút, không kể thời gian giao đề)
Đề thi gồm 03 câu, trong 02 trang


Yêu cầu kỹ thuật:
* Các file chương trình và file dữ liệu được đặt tên chính xác như sau:

Tên bài
File bài làm
Dữ liệu vào
Dữ liệu ra
Time

 Bài 1: Số siêu nguyên tố
SNT.PAS
SNT.INP
SNT.OUT
2s

 Bài 2: Trò chơi với băng số
DIV.PAS
DIV.INP
DIV.OUT
2s

 Bài 3: Bài toán ô vuông
SQUARE.PAS
SQUARE.INP
SQUARE.OUT
2s

Bài 1: Số siêu nguyên tố (8 điểm) File bài làm: SNT.PAS
Tại Vương quốc Byte xinh đẹp, mỗi người luôn chọn cho mình một con số, theo họ số nguyên tố là số mang lại sự may mắn và ai tìm được một số siêu nguyên tố còn may mắn hơn nữa. Số siêu nguyên tố là một số nguyên tố mà khi bỏ 1 số tùy ý các chữ số bên phải của nó thì phần còn lại vẫn là 1 số nguyên tố. Số 2333 là 1 số siêu nguyên tố vì 2333 là một số nguyên tố và 233, 23, 2 cũng là các số nguyên tố.
Dữ liệu vào: SNT.INP Chứa một số nguyên dương n (n ≤ 109)
Dữ liệu ra: SNT.OUT Nếu N là siêu nguyên tố ghi giá trị 1, ngược lại ghi giá trị 0
Ví dụ:


Bài 2. Trò chơi với băng số (8 điểm) File bài làm DIV.PAS
Cho một băng số gồm n số nguyên dương, mỗi số được viết trên một ô. Hãy cắt băng số này thành nhiều đoạn nhất sao cho tổng các phần tử trong các đoạn là bằng nhau.
Dữ liệu vào: DIV.INP + Dòng đầu ghi n (n ≤ 1000)
+ Dòng tiếp theo ghi n số nguyên dương a1, a2, ..., an
(các số nằm trên một dòng cách nhau bởi một dấu cách ai ≤ 1000)
Dữ liệu ra: DIV.OUT Ghi K là số đoạn cần chia.
Ví dụ:



DIV.INP
DIV.OUT
Giải thích

8
10 2 6 2 5 2 1 2
3

Đoạn 1: 10
Đoạn 2: 2 + 6 + 2 =10
Đoạn 3: 5 + 2 + 1 + 2 = 10

 Bài 3: Bài toán ô vuông (4 điểm) File bài làm: SQUARE.PAS
Cho một bảng chữ nhật gồm m * n điểm (gồm m hàng ngang trên mỗi hàng có n điểm). Các điểm liền kề trên cùng một hàng hoặc một cột có thể được nối với nhau bởi một đoạn thẳng có kích thước bằng 1. Trên mỗi hàng có nhiều nhất n - 1 đoạn thẳng nằm ngang nối các điểm liền nhau, trên mỗi cột có nhiều nhất là m - 1 đoạn thẳng thẳng đứng nối các điểm liền nhau. Xem hình dưới:
















Với bảng trên ta có 3 hàng ngang mỗi hàng 5 điểm. Các đoạn thẳng nối chúng tạo nên 2 ô vuông. Để mô tả bảng người ta dùng hai mảng nhị phân: mảng Ngang diễn tả các đoạn thẳng nằm ngang, mảng Dọc biểu diễn các đoạn thẳng thẳng đứng. Trong các mảng, số 1 diễn tả có đoạn thẳng nối hai điểm liên tiếp, số 0 diễn tả không có đoạn thẳng nối hai điểm liên tiếp.
Yêu cầu: Lập trình đếm số lượng các ô vuông mà cạnh có độ dài bằng 1 tạo bởi các đoạn nối có trên bảng đã cho.
Dữ liệu vào: SQUARE.INP
+ Dòng đầu tiên gồm 2 số nguyên dương lần lượt là m, n (m, n ≤ 1000). Hai số cách nhau một khoảng trắng.
+ m dòng tiếp theo diễn tả các đoạn thẳng nằm ngang (như bảng ngang mô tả ở phần trên). Hai số liền nhau cách nhau một khoảng trắng.
+ m - 1 dòng tiếp theo diễn tả các đoạn thẳng thẳng đứng (như bảng dọc mô tả ở phần trên). Hai số liền nhau cách nhau một khoảng trắng.
Dữ liệu ra : SQUARE.OUT
+ Số lượng ô vuông có độ dài cạnh bằng 1.
Ví dụ:
SQUARE.INP
SQUARE.OUT

3 5
1 0 1 0
1 0 0 0
1 1 1 1
1 1 1 0 0
1 1 0 0 0
2


-----HẾT-----
Họ và tên thí sinh :....................................................... Số báo danh .............................
Họ và tên, chữ ký: Giám thị 1:........................................................................................
Họ và tên,
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Thị Hiền
Dung lượng: 107,50KB| Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)