Đề thi học sinh giỏi tỉnh Hà Tĩnh môn Tin học lớp 11 năm học 2010 - 2011

SỞ GIÁO DỤC VÀ ĐÀO TẠO
HÀ TĨNH


(Đề thi chính thức)
KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
NĂM HỌC 2010 – 2011


Môn thi: TIN HỌC - Lớp: 11
Thời gian làm bài: 180 phút

Tên bàiTệp bài làmTệp dữ liệu vàoTệp dữ liệu ra
Bài 1Dãy con lớn nhấtDAYSO.PASDAYSO.INPDAYSO.OUT
Bài 2Robot công nghiệpROBOT.PASROBOT.INPROBOT.OUT
Bài 3Tạo sơn tổng hợpSON.PASSON.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.

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’

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.

Đánh giá bài viết
4 7.217
Sắp xếp theo

    Thi học sinh giỏi lớp 11

    Xem thêm