Dữ liệu ra: ghi ra file PTHUONG.OUT gồm các dòng: - Dòng đầu tiên ghi tổng giá trị lớn nhất của các phần thưởng đã chọn - Dòng tiếp theo ghi vị trí của các phần thưởng đã chọn theo thứ [r]
Trang 1Họ tên TS: Số BD: Chữ ký GT 1:
SỞ GIÁO DỤC VÀ ĐÀO TẠO
NINH THUẬN
(Đề thi chính thức)
KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
NĂM HỌC: 2014-2015
Khóa ngày: 09 / 11 / 2014
Môn thi: TIN HỌC Cấp THPT
Thời gian làm bài: 180 Phút
(Không kể thời gian phát đề)
TỔNG QUAN ĐỀ THI
(Đề thi có 02 trang/20 điểm)
Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng tương ứng là Pascal, Free Pascal hoặc C++.
Bài 1:
TẦN SỐ
Cho một văn bản không quá N dòng (N<200), mỗi dòng chứa không quá 80 ký
tự Ta gọi tần số của một ký tự trong văn bản là số lần xuất hiện của nó trong văn bản
Yêu cầu: Tìm tần số lớn nhất trong số các tần số của các chữ cái (không phân biệt chữ hoa
hay chữ thường) trong văn bản đã cho
Dữ liệu vào: Vào từ file văn bản tanso.inp
- Dòng đầu tiên chứa N là số lượng dòng trong văn bản
- N dòng tiếp theo mỗi dòng chứa một dòng văn bản đã cho
Kết quả: Ghi ra file văn bản tanso.out tần số lớn nhất tìm được.
Ví Dụ:
3
So Giao Duc Dao Tao Eurohhhhhhhkkkkkkkwwww Wwwwwwwwww
14
Bài 2:
CHI PHÍ
Trong đợt tổ chức đi tham quan các danh lam thắng cảnh ở Ninh Thuận, Ban tổ chức hội khỏe phù đổng tổ chức cho n đoàn (đánh số từ 1 đến n) mỗi đoàn đi tham quan một địa điểm khác nhau Đoàn thứ i đi thăm địa điểm cách khách sạn Con Gà Vàng di
Trang 2km (i=1,2,3…n) Hội thao có m xe đánh số từ 1 đến m (m>=n) để phục vụ việc đưa các đoàn đi tham quan Xe thứ j có mức tiêu thụ xăng là vj đơn vị thể tích/km
Yêu cầu: Hãy chọn n xe phục vụ các đoàn đi tham quan, mỗi xe chỉ phục vụ
một đoàn sao cho tổng chi phí xăng dầu là ít nhất
Dữ liệu vào: file văn bản thamquan.inp.
- Dòng đầu tiên chứa 2 số nguyên dương n,m (n<=m<=200);
- Dòng thứ hai chứa các số nguyên dương d1,d2,…dn;
- Dòng thứ 3 chứa các số nguyên dương v1,v2, vn.
- Các số trên cùng một dòng được ghi cách nhau một khoảng trống
Kết quả: Ghi ra file văn bản thamquan.out
- Dòng đầu tiên chứa tổng lượng xăng dầu cần dùng đưa các đoàn đi thăm quan (không tín lượt về);
- Dòng thứ i trong số n dòng tiếp theo ghi chỉ số xe phục vụ các đoàn (i=1,2,3, n)
Ví dụ:
3 4
7 5 9
17 13 15 10
256 2 3 4
Bài 3:
SỐ LỚN NHẤT
Cho 2 số nguyên X=x1x2….xm và Y=y1y2……yn (1≤m,n≤100)
Yêu cầu: Tìm số Z=z1z2… zk(Z nhận được từ X và Y bằng cách xóa đi một số chữ số) lớn nhất
Ví dụ: X=12345; Y=435012
Thì Z=45 (nhận được từ X bằng cách xóa đi x1x2x3; nhận được từ Y bằng cách xóa đi y2y4y5y6)
Dữ liệu: Vào từ file văn bản so.inp
- Dòng thứ nhất là X
- Dòng thứ hai là Y
Kết quả: Ghi ra file văn bản so.out
- Nếu không có cách xóa thì ghi -1
- Nếu có cách xóa thì ghi số Z ngay ở dòng đầu tiên
12345 435078
45
Bài 4: (7 điểm) CHỌN PHẦN THƯỞNG
Trong kỳ thi học sinh giỏi môn Tin học, em là người đạt giải đặc biệt Ban tổ chức cho phép em chọn các phần thưởng cho mình Các phần thưởng xếp thành một dãy được đánh
Trang 3số từ 1 đến N (0 ≤ N ≤ 10000), phần thưởng thứ i có giá trị là ai (1 ≤ a i ≤ 100) Em được phép chọn các phần thưởng cho mình theo nguyên tắc không chọn 3 phần thưởng liên tiếp nhau trong dãy.
Viết chương trình để máy tính hướng dẫn em chọn các phần thưởng sao cho tổng giá trị của các phần thưởng nhận được là lớn nhất.
Dữ liệu vào: cho file PTHUONG.INP gồm các dòng:
- Dòng đầu tiên là số phần thưởng N
- N dòng tiếp theo lần lượt là giá trị của các phần thưởng.
Dữ liệu ra: ghi ra file PTHUONG.OUT gồm các dòng:
- Dòng đầu tiên ghi tổng giá trị lớn nhất của các phần thưởng đã chọn
- Dòng tiếp theo ghi vị trí của các phần thưởng đã chọn theo thứ tự tăng dần
Ví dụ:
5 6 9 1 3 5
23
1 2 4 5
Hoặc
7 6 9 1 3 5 10 4
32
1 2 4 6 7
Bài 5: (6 điểm) PHẦN TỬ YÊN NGỰA
Cho mảng 2 chiều A có kích thước MxN số nguyên Phần tử A[i,j] được gọi là phần tử yên ngựa nếu nó là phần tử nhỏ nhất trong hàng i đồng thời là phần tử lớn nhất trong cột j.
Em hãy lập chương trình tìm phần tử yên ngựa của mảng A.
Dữ liệu vào: cho file PTYN.INP gồm:
- Dòng đầu tiên gồm 2 số M, N (0 ≤ M,N ≤100)
- M dòng tiếp theo, mỗi dòng gồm có N số nguyên của mảng A
(các giá trị cách nhau ít nhất 1 khoảng cách).
Dữ liệu ra: ghi ra file PTYN.OUT vị trí của các phần tử yên ngựa (nếu có) hoặc dòng
thông báo “Không có phần tử yên ngựa”.
Ví dụ:
3 3
(2,2)
Trang 4Hoặc :
3 3
Khong co phan tu yen ngua
Bài 6: Bằng phương pháp chụp không ảnh xác định các vùng lúa đang bị rầy nâu phá hoại,
trên ảnh chụp của vùng đất lớn hình chữ nhật, những vùng đất có màu xám là những vùng đất bị rầy nâu phá hoại, những vùng có màu xanh là những vùng đất còn tốt.
Để xác định vị trí của các vùng đất bị rầy nâu phá hoại hay không phá hoại, người ta chia hình chữ nhật trên thành các lưới ô vuông Hãy lập trình xác định các vùng đất bị rầy nâu phá hoại, chỉ ra các vùng đất gồm các ô nào, tổng diện tích và diện tích các vùng này với mỗi ô là một đơn vị diện tích.
Yêu cầu:
Dữ liệu vào cho trong file RAY.INP gồm:
(1 nếu có rầy, 0 nếu không có rầy)
Dữ liệu ra trong file RAY.OUT gồm:
các ô có rầy.
Ví dụ:
5 6
1 1 0 0 0 0
0 1 1 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
1 0 0 0 0 0
7
4 [1,1], [1,2], [2,2], [2,3]
2 [4,3], [4,4]
1 [5,1]
Trang 5
-Hết -Bài toán số 4.1: Viết chương trình thao tác trên mảng 2 chiều với các công việc sau:
+ Nhập xuất mảng 2 chiều.
+ Đếm số lần xuất hiện giá trị 0 trong mảng.
+ Tìm giá trị lớn nhất trong mảng 2 chiều đã nhập vào.
Bài toán số 4.2: Viết chương trình thao tác trên mảng 2 chiều với các công việc sau:
+ Nhập xuất mảng 2 chiều.
+ Tính tổng các phần tử theo từng dòng của mảng.
+ Tìm dòng có tổng giá trị lớn nhất.\
+ Tìm giá trị lớn nhất trong ma trận
Hướng dẫn:
Bài toán số 4.3:Viết chương trình thao tác trên ma trận vuông với các yêu cầu:
+ Nhập xuất ma trận vuông.
+ Tính tổng các phần tử trên đường chéo chính.
+ Kiểm tra tính đối xứng của ma trận vuông qua dường chéo chính.
Hướng dẫn:
+ Ma trận vuông là mảng 2 chiều nhưng có kích thước dòng bằng kích thước cột Tức là, M=N, khi dó kích thước của ma trận là NxN.
+ Đường chéo chính là các phần tử A[i, j] có i = j ( hay A[i, i] ).
Bài toán số 4.4: Tính tổng của hai ma trận A, B cấp NxM Tính ma trận C là tổng của hai ma trận A
và B, in ma trận C lên màn hình.
Công thức tính các phần tử của ma trận C= A+B:
C[i,j ] = A[i, j] + B[i, j] với i=1, , N, và j=1, , M
Bài toán 4.5 Viết chương trình nhập vào một ma trận vuông sau đó kiểm tra xem ma trận vừa nhập có
phải là ma trận đối xứng không.
Ma trận đối xứng là ma trận khi ta đổi hàng và cột cho nhau thì ma trận không thay đối
Bài toán 4.6 Viết chương trình nhập vào một ma trận sau đó in lên màn hình ma trận chuyển vị của ma trận đã nhập