Đề thi KSCL đội tuyển HSG Tin học 12 năm 2018 - 2019 trường Yên Lạc 2 - Vĩnh Phúc

VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
SỞ GD&ĐT NH PHÚC
TRƯỜNG THPT YÊN LẠC 2
THI KSCL ĐỘI TUYỂN HỌC SINH GIỎI KHỐI 12
ĐỀ THI MÔN: TIN HỌC 12
NĂM HỌC 2018 - 2019
Thời gian làm bài 180 phút, không kể thời gian giao đề.
Đề thi gồm 03 bài 02 Trang.
Tổng quan đề thi
Tên bài
File chương trình
File Input
File Output
Thời gian
Điểm
Bài 1
DEM.*
DEM.inp
DEM.out
1s / test
6
Bài 2
TACH.*
TACH.inp
TACH.out
1s / test
6
Bài 3
ATM.*
ATM.inp
ATM.out
1s / test
8
Chú ý: Thí sinh thay * trong tên chương trình PAS hoặc CPP tùy theo ngôn ngữ lập trình
thí sinh sử dụng PASCAL hoặc C++.
Bài 1: Đếm số 0 bên phải
Cho một số nguyên n. Hãy đếm xem trong kết quả của số n! (n giai thừa) bao nhiêu chữ số 0
liên tiếp tính từ hàng đơn vị (hay bao nhiêu số 0 liên tiếp bên phải).
Dữ liệu vào
- Một dòng duy nhất chứa số nguyên n (1 n 1.000)
Dữ liệu xuất:
- Một dòng duy nhất ghi số lượng chữ số 0 liên tiếp tính từ hàng đơn vị của n!.
dụ
Output
1
Giải thích 8! = 5040
Bài 2: Tách chuỗi đối xứng
Chuỗi đối xứng (palindrome) chuỗi nếu ta đọc từ trái sang phải hay từ phải sang trái thì
đều giống nhau. dụ chuỗi 'abcba' chuỗi đối xứng. Một tự duy nhất cũng được gọi
chuỗi đối xứng.
Một chuỗi S bất kỳ luôn thể ghép được từ các chuỗi đối xứng. dụ chuỗi 'bobseesanna'
một số cách ghép như sau:
1) 'b' + 'o' + 'b' + 'sees' + 'a' + 'n' + 'n' + 'a'
2) 'bob' + 'sees' + 'anna'
3) 'bob' + 's' + 'ee' + 's' + 'anna'
Tổng quát S = P
1
+ P
2
+...+ P
k
. với P
1
, P
2
,... , P
k
các chuỗi đối xứng. Bạn hãy tìm cách biểu
diễn S sao cho k nhất. Trong dụ trên, k = 3 (cách ghép s 2).
Dữ liệu vào:
- Dòng thứ nhất số nguyên n (1 n 2.000) biểu thị chiều dài chuỗi S.
- Dòng thứ hai chuỗi S gồm n tự các chữ cái la tinh thường từ a đến z.
Dữ liệu ra:
- Dòng thứ nhất số nguyên k.
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
- Trong k dòng tiếp theo, tại dòng thứ i chuỗi đối xứng P
i
. Nếu nhiều cách biểu diễn, chỉ
cần in ra một cách bất kỳ.
dụ
Input
output
11
bobseesanna
3
bob
sees
anna
Bài 3: Máy rút tiền ATM
Vinh m việc cho một công ty sản xuất y ATM. Chức năng bản của một máy ATM là
rút tiền mặt. Khi một khách hàng muốn rút M đồng, máy ATM sẽ nhả ra m tờ tiền tổng
W đồng. Trong máy ATM thế hệ tiếp theo, Vinh đang xây dựng một thuật toán để tìm được W
(số lượng c tờ tiền) ít nhất.
Giả s máy ATM N loại tiền: 1, 2, 3, .., n; mỗi loại 1 mệnh giá tương ng v[1] < v[2]
< v[3] < ..< v[n]. Cho biết cách thanh toán cần ít số lượng tờ tiền nhất cho số tiền cần thanh toán
W. Bạn y giúp Vinh viết chương trình thực hiện yêu cầu trên. Biết rằng số tiền trong cây
ATM lớn hơn số tiền cần rút.
Dữ liệu vào: Gồm 2 dòng
Dòng 1: Chứa số nguyên dương N N số nguyên các loại tiền đơn vị tính bằng đồng
v[1]…v[N]
Dòng 2: Chứa M s tiền khách hàng muốn rút tính bằng đồng
Dữ liệu xuất: Gồm nhiều dòng
Dòng 1: Ghi số W là số lượng tờ tiền ít nhất
Dòng 2 trở đi: Gồm 2 số W1 W2 trong đó W1 số tờ tiền tương ứng mệnh giá W2
Nếu không cách rút tiền ghi ra file dòng ch “nhap lai so tien”
dụ
Input
Output
4
10 20 50 100
450
5
4 100
1 50
--------------------------------Hết--------------------------------
Thí sinh không sử dụng tài liệu để làm bài
Cán bộ coi thi không giải thích them
Họ tên thí sinh:………………………………………Số báo danh:……………
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
SỞ GD&ĐT VĨNH PHÚC
TRƯỜNG THPT YÊN LẠC 2
ĐÁP ÁN KSCL ĐỘI TUYỂN HỌC SINH GIỎI KHỐI 12
ĐỀ THI MÔN: TIN HỌC 12
NĂM HỌC 2018 - 2019
Thời gian làm bài 180 phút, không kể thời gian giao đề.
Đề thi gồm 03 bài 02 Trang.
Bài 1: Đếm số 0 bên phải
Chương trình mẫu
var a,d,i,e:longint; f1,f2 :text;
begin
assign(f1,’dem.inp’); reset(f1);
assign(f2,’dem.out’);rewrite(f2);
readln(f1,a);
d:= 0;
for i:=1 to a do
begin
e:=i;
while e mod 5 = 0 do
begin
inc(d);
e := e div 5;
end;
end;
writeln(f2,d);
close(f1); close(f2);
end.
Đáp án:
Bài 2: Tách chuỗi đối xứng
var i,j,n,m,t:longint;
a:array[0..100000] of char;
f:array[0..10000,0..10000] of longint;
k,d,kt:array[-10000..10000] of longint;
//f1, f2:text;
procedure motep;
begin
assign(f1,'TACH.inp'); reset(f1);
readln(f1,n);
for i:=1 to n do read(f1,a[i]);
assign(f2,'TACH.out'); rewrite(f2);
end;
procedure xuli;
begin
for i:=n downto 1 do
begin
f[i,i]:=1;
if i<>n then
if a[i]=a[i+1] then f[i,i+1]:=1;
for j:=i+2 to n do
if (a[i]=a[j]) and (f[i+1,j-1]=1) then f[i,j]:=1;

Đề thi KSCL đội tuyển HSG Tin học 12 năm 2018 - 2019

VnDoc xin giới thiệu tới bạn đọc Đề thi KSCL đội tuyển HSG Tin học 12 năm 2018 - 2019 trường Yên Lạc 2 - Vĩnh Phúc. Nội dung tài liệu gồm 3 bài tập, thời gian làm bài 180 phút, đề thi có đáp án. Mời các bạn tham khảo.

---------------------------

Để có kết quả cao hơn trong học tập, VnDoc xin giới thiệu tới các bạn học sinh tài liệu Giải bài tập Toán lớp 12, Giải bài tập Hóa học lớp 12, Giải bài tập Vật Lí 12, Giải bài tập Sinh học 12, Tài liệu học tập lớp 12VnDoc tổng hợp và đăng tải.

Đánh giá bài viết
1 973
0 Bình luận
Sắp xếp theo
Môn khác lớp 12 Xem thêm