Đề thi học sinh giỏi lớp 12 THPT tỉnh Thanh Hóa năm học 2010 - 2011 môn Tin học (Có đáp án) - Sở GD&ĐT Thanh Hóa
Đề thi học sinh giỏi lớp 12 THPT tỉnh Thanh Hóa năm học 2010 - 2011 môn Tin học (Có đáp án) - Sở GD&ĐT Thanh Hóa
SỞ GIÁO DỤC VÀ ĐÀO TẠO | KỲTHI CHỌN HỌC SINH GIỎI LỚP 12 THPT |
MÔN THI: TIN HỌC
Thời gian làm bài: 180 phút (không kể thời gian giao đề)
--------------------------------------------------------------------------------
Tổng quan bài thi:
Hãy lập trình giải các bài toán sau:
Bài 1: (5 điểm) Cấp số cộng
Cho dãy gồm n số nguyên a1, a2,..., an.
Yêu cầu: cho biết dãy số trên có lập thành cấp số cộng hay không?
Dữ liệu vào: từ file BAI1.INP gồm:
- Dòng đầu tiên ghi số n.
- Dòng tiếp theo lần lượt ghi n số a1, a2,..., an.
Các số trên cùng một dòng được ghi cách nhau ít nhất một dấu cách trống.
Kết quả: ghi ra file BAI1.OUT như sau:
- Số 1 - Nếu dãy số là cấp số cộng.
- Số 0 - Nếu dãy số không phải là cấp số cộng.
Bài 2 (4 điểm) Biến đổi xâu
Cho trước một xâu nhị phân có độ dài bất kỳ. Cần biến đổi xâu nhị phân này về dạng toàn số 0. Các phép biến đổi chỉ có thể là một trong các loại sau:
- Biến đổi xâu con 11 thành 00.
- Biến đổi xâu con 010 thành 000.
Hãy chỉ ra một cách biến đổi xâu đã cho thành xâu có toàn 0.
Dữ liệu vào: từ file BAI2.INP xâu nhị phân độ dài bất kỳ.
Kết quả: ghi ra file BAI2.OUT như sau:
- Dòng đầu tiên chứa xâu ban đầu.
- Sau đó mỗi dòng là một xâu tiếp theo sau một phép biến đổi. Xâu cuối cùng là xâu toàn 0.
- Nếu không biến đổi được thì ghi "Khong the bien doi duoc".
Bài 3 (4 điểm) Chuẩn hoá văn bản
Một văn bản được gọi là văn bản chuẩn nếu:
- Hai từ liền nhau có duy nhất một dấu cách trống.
- Dấu ngắt câu (dấu chấm, dấu phẩy, dấu chấm phẩy, dấu chấm hỏi, dấu chấm than) được đặt sát vào từ ngay trước nó, sau đó mới đến dấu cách trống.
- Dấu mở ngoặc đặt sát vào phía bên trái của từ bắt đầu mở ngoặc.
- Dấu đóng ngoặc đặt sát bên phải từ cuối cùng được đóng ngoặc.
Hãy viết chương trình để kiểm tra và đưa một đoạn văn bản về dạng văn bản chuẩn.
Dữ liệu vào: từ file BAI3.INP
Kết quả: ghi ra file BAI3.OUT văn bản đã được chuẩn hoá.
Bài 4 (4 điểm) Chia đoạn một dãy số
Cho dãy số tự nhiên a1, a2,..., an. Hãy tìm cách chia dãy số trên thành nhiều đoạn nhất sao cho tổng các số trong tất cả các đoạn con đều bằng nhau.
Dữ liệu vào: từ file BAI4.INP gồm:
- Dòng đầu ghi số n.
- Các dòng còn lại ghi các số a1, a2,..., an.
Các số trên cùng một dòng cách nhau ít nhất một dấu cách trống.
Kết quả: ghi ra file BAI4.OUT, gồm K+1 dòng (K là số đoạn chia được nhiều nhất) như sau:
- Dòng đầu ghi hai số K và S (S là tổng giá trị của một đoạn).
- K dòng còn lại mỗi dòng ghi các số của mỗi đoạn chia được.
Các số trên cùng một dòng cách nhau ít nhất một dấu cách trống.
Bài 5: (3 điểm) Chia lưới
Cho lưới M x N (M, N <=20) ô vuông, trong mỗi ô cho trước một số tự nhiên. Hãy tìm cách chia lưới trên làm hai phần (chia theo cạnh lưới) sao cho giá trị tuyệt đối hiệu số của tổng các số trong mỗi phần có giá trị nhỏ nhất (như hình dưới đây).
Dữ liệu vào: từ file BAI5.INP, được cho như sau:
- Dòng đầu tiên gồm 2 số M, N là kích thước ô lưới.
- M dòng tiếp theo, mỗi dòng gồm N số cách nhau bởi dấu cách trống, ô nào không có giá trị được cho bằng 0.
Kết quả: ghi ra file BAI5.OUT miêu tả lưới sau khi thành hai phần, là một ma trận kích thước M x N gồm các số 0 và 1 (số 0 ký hiệu cho các ô tương ứng với phần thứ nhất, số 1 ký hiệu cho các ô tương ứng với phần thứ hai).
Download tài liệu để xem thêm chi tiết