Tổng quan bài thi: Tên bài File chương trình File dữ liệu vào File kết quả Bài 3 Dãy ngoặc đúng BAI3.PAS BAI3.INP BAI3.OUT Dữ liệu vào là đúng đắn, không cần phải kiểm tra.. Các số ghi t
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO
THANH HOÁ
ĐỀ CHÍNH THỨC
KỲ THI HỌC SINH GIỎI TỈNH
Năm học: 2013-2014 Môn thi: Tin học Lớp 12 THPT
Ngày thi: 21/03/2014
Thời gian: 180 phút (không kể thời gian giao đề)
Đề này có 03 câu, gồm 02 trang
Tổng quan bài thi:
Tên bài File chương trình File dữ liệu vào File kết quả
Bài 3 Dãy ngoặc đúng BAI3.PAS BAI3.INP BAI3.OUT
Dữ liệu vào là đúng đắn, không cần phải kiểm tra.
Hãy lập trình giải các bài toán sau:
Bài 1: (6 điểm) Cộng phân số
Cho hai phân số A/B và C/D
Yêu cầu: Hãy xác định hai số nguyên dương E và F thỏa mãn 2 điều kiện sau:
+ Điều kiện 1: E/F=A/B + C/D
+ Điều kiện 2: E/F là phân số tối giản
Dữ liệu vào: File văn bản BAI1.INP, có cấu trúc:
+ Dòng 1 chứa 2 số A và B
+ Dòng 2 chứa 2 số C và D
(A, B, C, D là các số nguyên dương và không lớn hơn 10000)
Dữ liệu ra: File văn bản BAI1.OUT
Có 1 dòng chứa 2 số E và F tìm được thỏa mãn hai điều kiện trên Các số ghi trên một dòng và được cách nhau bởi một cách trống
Ví dụ:
2 5
3 6
9 10
Bài 2: ( 7 điểm) Tìm số lớn
Cho một dãy gồm N các ký tự có mặt trên bàn phím trong đó có ít nhất 4 chữ số (N < 106)
Yêu cầu: Hãy loại bỏ một số ký tự khỏi dãy sao cho 4 ký tự cuối cùng còn lại theo đúng
thứ tự đó tạo nên số lớn nhất
Dữ liệu vào: File văn bản chứa BAI2.INP chứa N ký tự
Dữ liệu ra: File văn bản BAI2.OUT chứa 4 chữ số tạo thành số lớn nhất.
Ví dụ:
Trang 1/2
Số báo danh
……….
Trang 2BAI2.INP BAI2.OUT
Bài 3: ( 7 điểm) Dãy ngoặc đúng
Người ta định nghĩa một xâu kí tự gồm các ký tự ‘(’ và ‘)’ là một dãy ngoặc đúng như sau:
- Xâu rỗng là một dãy ngoặc đúng
- Nếu X là dãy ngoặc đúng thì (X) cũng là một dãy ngoặc đúng
- Nếu X, Y là những dãy ngoặc đúng thì XY cũng là dãy ngoặc đúng
Những dãy ngoặc sau đây là những dãy ngoặc đúng:
- ()(())
- ((()))
Những dãy ngoặc sau thì không:
- )(
- (((()))
- )()()(
Cho một xâu kí tự T= T 1 , T 2 , … T n , trong đó T i là một trong hai kí tự ‘(’ hoặc ‘)’
với mọi i= 1 n.
Yêu cầu: Hãy đếm số cặp i,j (i<j) mà xâu kí tự thu được từ việc ghép các kí tự liên tiếp
T i , T i+1 ,… T j (giữ nguyên thứ tự) là một dãy ngoặc đúng.
Dữ liệu vào: File văn bản BAI3.INP
- Dòng thứ 1 chứa n là độ dài của xâu kí tự T(n<=1000)
- Dòng thứ 2 chứa xâu kí tự T
Dữ liệu ra: Ghi ra File văn bản BAI3.OUT một số duy nhất là kết quả tìm được.
Ví dụ:
10
(()())(()(
5
Cán bộ coi thi không giải thích gì thêm.
Hết
-Trang 2/2