Khi một tín hiệu điều khiển được gửi đến, nếu nó là tín hiệu điều khiển hàng, nó sẽ thay đổi trạng thái tất cả các đèn trên hàng đó, còn nếu nó là tín hiệu điều khiển cột, nó sẽ thay đ[r]
(1)1/3 SỞ GD&ĐT QUẢNG BÌNH KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH ĐỀ THI CHÍNH THỨC NĂM HỌC 2017 - 2018
LỚP 12 - THPT Môn thi: TIN HỌC
SỐ BÁO DANH: (Khóa thi ngày 22 tháng 03 năm 2018)
Thời gian làm bài: 180 phút (không kể thời gian giao đề) Đề thi gồm trang Sử dụng ngơn ngữ lập trình Pascal để lập trình giải toán sau:
Câu (3.0 điểm): Độ cao dãy số HIGHT.PAS
Ta gọi độ cao số nguyên dương K tổng giá trị chữ số K Ví dụ: số 442354 có độ cao 22
Cho dãy số nguyên dương A gồm N phần tử a1, a2, , aN (1 ≤ N ≤ 32000, ≤ i ≤ N, < ≤ 2x109)
Yêu cầu: Hãy tính độ cao phần tử dãy số A
Dữ liệu vào: Ghi file văn HIGHT.INP có cấu trúc sau: -Dịng 1: Ghi số nguyên dương N, số lượng phần tử dãy số
-Dòng 2: Ghi N số nguyên dương, số thứ i giá trị phần tử dãy số,
các số ghi cách dấu cách
Dữ liệu ra: Ghi file văn HIGHT.OUT theo cấu trúc sau:
-Dòng 1: Ghi N số nguyên dương t1, t2, , tN; ti độ cao số Các số
được ghi cách dấu cách Ví dụ:
HIGHT.INP HIGHT.OUT
5
99 32000 334 27
18 5 10
Câu (3.0 điểm): Chiến hạm WARSHIP.PAS
Nhằm tự động hóa quan sát vùng biển, thông tin thu thập hỗ trợ cho kế hoạch tác chiến Người ta lấy ảnh chụp vệ tinh vùng biển sau mã hóa thành đồ số để máy tính xử lý gồm kí tự Bản đồ số lưới ô vuông gồm M hàng N cột, vng chứa kí tự Các kí tự biểu thị cho vùng nước; Một kí tự nhiều kí tự tạo thành hình chữ nhật (có cạnh song song với cạnh đồ) biểu thị cho chiến hạm Các chiến hạm hoạt động độc lập, không kết nối với
Yêu cầu: Với đồ số M x N, xác định có chiến hạm Dữ liệu vào: Cho file văn WARSHIP.INP có cấu trúc sau:
-Dòng 1: Ghi hai số nguyên M, N số hàng số cột đồ (1≤ M,N ≤ 1000) -M dòng tiếp theo: Mỗi dòng ghi N ký tự
(2)2/3 Ví dụ:
WARSHIP.INP WARSHIP.OUT
5
0 0 0 0 1 0 0 0 1 0 0 0 1
4
Câu (2.0 điểm): Gia công mỹ nghệ PLAN.PAS
Một doanh nghiệp nước muốn kí kết hợp đồng với làng nghề truyền thống Quảng Bình Làng chun gia cơng đồ thủ công mỹ nghệ tinh xảo Đơn hợp đồng kí kết N ngày để gia cơng S sản phẩm Theo kinh nghiệm truyền lại từ lâu đời thực gia công sản phẩm j i ngày bán với giá tiền A(i,j), tốn nhiều thời gian gia cơng sản phẩm giá trị bán giá cao (tức A(i,j) ≤ A(i+1,j))
Yêu cầu: Với thời gian ký kết hợp đồng N ngày gia công cho S sản phẩm bảng kinh nghiệm A Em giúp làng phân bổ lịch làm việc cho hiệu nhất, tức hết thời gian hợp đồng, tổng tiền thu sau bán S sản phẩm lớn
Dữ liệu vào: Cho file văn PLAN.INP có cấu trúc sau:
- Dòng 1: Ghi hai số nguyên N, S; (0 ≤ N, S ≤ 1000)
- Dòng thứ i trong n+1 dòng tiếp theo: Mỗi dòng chứa S số nguyên A(i,1), A(i,2), … , A(i,S), (i = 0, 1, … , N; j = 1, 2, … , S); (0 ≤ A(i,j) ≤ 1000)
Dữ liệu ra: Ghi file văn PLAN.OUT theo cấu trúc sau:
- Dòng 1: Ghi số nguyên tổng số tiền lớn thu
- Dòng 2: Ghi dãy S số nguyên, cách phân bổ thời gian hợp lý N ngày gia công tương ứng cho S sản phẩm theo thứ tự sản phẩm thứ 1, …đến sản phẩm thứ S
Ví dụ:
PLAN.INP PLAN.OUT
3
2 6 10
16
(3)3/3
Câu (2.0 điểm): Led ma trận LED.PAS
Trong lĩnh vực quảng cáo, hệ thống đèn led ma trận (led matrix) sử dụng rộng rãi Một bảng led ghép từ nhiều đèn led nhỏ, led điểm ảnh (pixel) để tạo hình ảnh Để chào mừng ngày thành lập Đoàn 26/3 đến, người đam mê cơng nghệ lập trình, bạn Hiếu muốn tự lắp đặt bảng led để trang trí cho trại lớp Bảng led bạn gồm M×N đèn led, bố trí lưới hình chữ nhật gồm M hàng N cột Các hàng lưới đánh số từ đến M từ xuống dưới, cột lưới đánh số từ đến N từ trái sang phải Ô nằm giao hàng i (i = 1, 2, … , M) cột j (j = 1, 2, … , N) gọi ô (i, j) Mỗi chứa đèn led, đèn có trạng thái, trạng thái sáng màu xanh sáng màu đỏ tắt
Có M cổng (port) để đưa tín hiệu điều khiển M hàng, cổng điều khiển hàng thứ i (i=1, 2, …, M) đánh số i Có N cổng để đưa tín hiệu điều khiển N cột, cổng điều khiển cột thứ j (j =1, 2, …, N) đánh số M + j Khi tín hiệu điều khiển gửi đến, tín hiệu điều khiển hàng, thay đổi trạng thái tất đèn hàng đó, cịn tín hiệu điều khiển cột, thay đổi trạng thái tất đèn
trên cột Cụ thể, đèn trạng thái tắt chuyển sang trạng thái sáng màu
xanh, trạng thái sáng màu xanh chuyển sang trạng thái sáng màu đỏ, trạng thái sáng màu đỏ chuyển trạng thái tắt
Yêu cầu: Cho trạng thái ban đầu M × N đèn dãy gồm S tín hiệu điều khiển Em giúp bạn Hiếu xác định sau thực xong dãy tín hiệu điều khiển có đèn led trạng thái tắt
Dữ liệu vào: Cho file văn LED.INP có cấu trúc sau:
- Dòng 1: Ghi ba số nguyên M, N, S
- Dòng thứ i M dòng tiếp theo: Mỗi dòng chứa N số nguyên C(i,1), C(i,2), … ,
C(i,N), C(i,j) tương ứng hoặc đèn ô (i,j) tương ứng trạng thái tắt sáng màu xanh sáng màu đỏ (i = 1, 2, … , M; j = 1, 2, … , N)
-Dòng M+2: Là dòng cuối chứa S số nguyên t1, t2, …, t𝑠 mơ tả dãy gồm S tín
hiệu điều khiển (1 ≤ tk ≤ M + N; k = 1, 2, …, S)
Dữ liệu ra: Ghi file văn LED.OUT theo cấu trúc sau:
- Dòng 1: Ghi số nguyên số lượng đèn tắt sau thực xong dãy tín
hiệu điều khiển
Ví dụ:
LED.INP LED.OUT LED.INP LED.OUT
2 0 0 0
5
0 0 0 2
3
Ràng buộc:
- Có 50% số lượng test thỏa mãn điều kiện: M, N ≤ 20 S ≤ 20;
- Có 50% số lượng test khác thỏa mãn điều kiện: M ≤ 20; N ≤ 50000
và S ≤ 1000000 M ≤ 50000; N ≤ 20 S ≤ 1000000
(Chú ý: Các chương trình thực không giây tất liệu vào)