Thông Báo:
Mọi thắc mắc xin liên hệ facebook: Bá Sơn
fb.com/sonden2000
Posted by : Unknown
Thursday, March 16, 2017
SỞ GIÁO DỤC VÀ ĐÀO TẠO
HÀ TĨNH
ĐỀ CHÍNH THỨC
(Đề thi có 2 trang)
|
ĐỀ THI CHỌN HỌC SINH GIỎI TỈNH
LỚP 11 THPT - NĂM HỌC 2010 - 2011
Môn
thi: Tin học
Thời gian 180 phút (Không kể thời
gian giao đề)
|
TỔNG
QUAN BÀI THI
|
Tên bài
|
Tệp bài làm
|
Tệp dữ liệu vào
|
Tệp dữ liệu ra
|
Bài
1
|
Dãy con lớn
nhất
|
DAYSO.PAS
|
DAYSO.INP
|
DAYSO.OUT
|
Bài
2
|
Robot công
nghiệp
|
ROBOT.PAS
|
ROBOT.INP
|
ROBOT.OUT
|
Bài
3
|
Tạo sơn tổng
hợp
|
SON.PAS
|
|
SON.OUT
|
Sử
dụng ngôn ngữ lập trình Pascal hãy lập chương trình giải các bài toán sau đây:
Bài
1: Dãy con lớn nhất
Cho dãy số A gồm N số nguyên A1, A2, ..., AN.
Dãy số Ap,...,Aq với 1≤p,q≤N được gọi là dãy con của dãy
số A. Tổng giá trị các số trong một dãy con được gọi là trọng lượng của dãy con
đó. Hãy tìm dãy con có trọng lượng lớn nhất của dãy số A.
Dữ liệu vào là tệp văn bản dayso.inp có
cấu trúc:
- Dòng đầu tiên
chứa số N (N≤255).
- Dòng thứ hai
chứa dãy số A, các số ghi cách nhau ít nhất là một ký tự trống..
Dữ liệu ra là tệp văn bản dayso.out có
cấu trúc như sau:
- Dòng đầu tiên
chứa hai số cách nhau ít nhất một ký tự trống là chỉ số của số đầu và số cuối
của dãy con tìm được.
- Dòng thứ hai
chứa trọng lượng của dãy con tìm được.
Ví dụ:
Tệp dayso.inp
|
Tệp dayso.out
|
5
3 -1 2 -2 1
|
1 3
4
|
Bài
2: Robot công nghiệp
Trong một nhà máy có trang bị loại Robot công nghiệp để thực hiện việc tự
động hoá gia công các sản phẩm. Việc gia công các sản phẩm của Robot được thực
hiện đồng thời trên hai sản phẩm cùng một lúc theo tiến trình: Với mỗi loại
thao tác gia công được Robot thực hiện trên sản phẩm thứ nhất xong rồi chuyển
sang thực hiện trên sản phẩm thứ hai. Để hoàn thành một sản phẩm, Robot có thể
thực hiện tới N loại thao tác gia công (N≤ 24) và mỗi loại thao tác gia công đã
thực hiện trên một sản phẩm nào đó rồi thì không thực hiện lại trên sản phẩm đó
nữa. Robot hoạt động bằng lệnh là một dãy ký tự in hoa, mỗi ký tự là lệnh thực
hiện cho một loại thao tác gia công. Lệnh thực hiện các loại thao tác gia công
khác nhau là các ký tự khác nhau. Việc đọc dòng lệnh và thực hiện lệnh của
Robot được tiến hành theo các chu trình như sau:
+ Chu trình thứ nhất: Đọc ký tự thứ nhất, thực hiện lệnh tương ứng trên
sản phẩm thứ nhất. Tiếp theo đọc ký tự thứ N, thực hiện lệnh tương ứng trên sản
phẩm thứ hai.
+ Chu trình thứ hai: Đọc ký tự thứ hai, thực hiện lệnh tương ứng trên sản
phẩm thứ nhất. Tiếp theo đọc ký tự thứ N-1, thực hiện lệnh tương ứng trên sản
phẩm thứ hai.
+ Chu trình thứ ba: Đọc ký tự ba, thực hiện lệnh tương ứng trên sản phẩm
thứ nhất. Tiếp theo đọc ký tự thứ N-2, thực hiện lệnh tương ứng trên sản phẩm
thứ hai.
...
Tương tự với các chu trình còn lại để đọc hết dòng lệnh.
Với một xâu S các ký tự in hoa có số lượng các ký tự là chẵn và không quá
N x 2, hãy xác định xem nó có phải là một dòng lệnh của Robot đã nói ở trên hay
không?
Dữ liệu vào: Tệp văn bản ROBOT.INP có cấu
trúc:
-
Dòng đầu tiên ghi 1 số là độ dài xâu S.
- Dòng thứ 2 ghi
xâu S.
Dữ liệu ra: Tệp văn bản ROBOT.OUT ghi
thông báo ‘CO’ nếu xâu S là dòng lệnh của Robot, ngược lại ghi thông báo
‘KHONG’
Ví dụ:
Tệp ROBOT.INP
|
Tệp ROBOT.OUT
|
6
|
CO
|
CBAABC
|
|
Tệp ROBOT.INP
|
Tệp ROBOT.OUT
|
6
|
KHONG
|
ACBDCA
|
|
Bài 3: Tạo sơn tổng hợp
Từ N loại sơn
ban đầu có số hiệu là 1, 2, ..., N (1≤N≤9), người ta có thể tạo ra rất nhiều loại
sơn tổng hợp khác nhau bằng cách trộn lẫn một số loại sơn nào đó lại với nhau
theo một liều lượng nào đó của mỗi loại. Khi tham gia trộn để được một loại sơn
tổng hợp nào đó, các loại sơn khác nhau
được đưa vào từ các vị trí khác nhau và liều lượng của mỗi loại sơn là bao
nhiêu phụ thuộc vào thứ tự vị trí đưa vào của loại sơn đó. Liều lượng của mỗi
loại sơn mà khác nhau trong khi trộn thì cho ra các loại sơn tổng hợp khác
nhau. Hãy liệt kê ra tất cả các phương án trộn M loại sơn (M≤N) trong N loại
sơn đã cho để có được các loại sơn tổng hợp.
Dữ liệu vào: Giá trị của các số N, M
được đưa vào từ bàn phím.
Dữ liệu ra là tệp văn bản SON.OUT có cấu
trúc: Mỗi dòng ghi số hiệu của M loại sơn theo thứ tự khi đưa vào trộn để tạo
ra một loại sơn tổng hợp nào đó. Dòng cuối cùng ghi số lượng các loại sơn tổng
hợp tạo ra.
Ví dụ:
|
Tệp son.out
|
N=3
M=2
|
1 2
1 3
2 1
2 3
3 1
3 2
6
|