Đề thi chọn học sinh giỏi cấp trường lớp 11 - Môn: Tin Học

Đề thi chọn học sinh giỏi cấp trường lớp 11 - Môn: Tin Học

Bài 1: Đếm đoạn

Tên file: count.pas

 Dữ liệu vào: count.inp

 Dữ liệu ra: count.out

Cho mảng A có N số nguyên. Một đoạn con của A là một dãy các phần tử liên tiếp trong A. Hãy đếm số đoạn con của A có giá trị lớn nhất lớn hơn hoặc bằng M.

Dữ liệu:

 Dòng 1: Ghi 2 số nguyên N,M, các số cách nhau 1 khoảng trống.

 Dòng 2: Ghi N số nguyên của dãy A, các số cách nhau 1 khoảng trống.

Kết quả:

Gồm 1 dòng duy nhất ghi kết quả.

Ví dụ:

count.inp count.out

5 1

1 1 1 1 1 15

count.inp count.out

4 4

1 5 2 5 8

Giới hạn:

 Có 30% số test ứng với 30% số điểm có 1≤N≤100.

 Có 30% số test khác ứng với 30% số điểm có 1≤N≤5000.

 Có 40% số test còn lại ứng với 40% số điểm có 1≤N≤10^5.

 Trong tất cả các test có 0≤A_i≤10^6.

 

docx 5 trang lexuan 110953
Bạn đang xem tài liệu "Đề thi chọn học sinh giỏi cấp trường lớp 11 - Môn: Tin Học", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
SỞ GD VÀ ĐT VĨNH PHÚC
TRƯỜNG THPT LIỄN SƠN
KỲ THI CHỌN HSG CẤP TRƯỜNG LỚP 11
Năm học: 2018-2019
MÔN: TIN HỌC
Thời gian 180 phút (Không kể thời gian giao đề)
Tổng quan bài thi
TT
Tên bài
Tên file CT
Tên file DL vào
Tên file DL ra
Điểm
Thời gian
1
Đếm đoạn
count.pas
count.inp
count.out
7
1s
2
Số lớn
nmax.pas
nmax.inp
nmax.out
7
1s
3
Chia quà tết
gift.pas
gift.inp
gift.out
6
1s
Bài 1: Đếm đoạn
Tên file: count.pas
	Dữ liệu vào: count.inp
	Dữ liệu ra: count.out
Cho mảng A có N số nguyên. Một đoạn con của A là một dãy các phần tử liên tiếp trong A. Hãy đếm số đoạn con của A có giá trị lớn nhất lớn hơn hoặc bằng M.
Dữ liệu:
Dòng 1: Ghi 2 số nguyên N, M, các số cách nhau 1 khoảng trống.
Dòng 2: Ghi N số nguyên của dãy A, các số cách nhau 1 khoảng trống.
Kết quả:
Gồm 1 dòng duy nhất ghi kết quả.
Ví dụ:
count.inp
count.out
5 1
1 1 1 1 1
15
count.inp
count.out
4 4
1 5 2 5 
8
Giới hạn:
Có 30% số test ứng với 30% số điểm có 1≤N≤100.
Có 30% số test khác ứng với 30% số điểm có 1≤N≤5000.
Có 40% số test còn lại ứng với 40% số điểm có 1≤N≤105.
Trong tất cả các test có 0≤Ai≤106.
Bài 2. Số lớn
Tên file: nmax.pas
	Dữ liệu vào: nmax.inp
	Dữ liệu ra: nmax.out
Peter và Bin chơi trò chơi tìm số lớn, Peter cho Bin biết trước một xâu kí tự, trong đó có ít nhất 5 chữ số. Peter yêu cầu Bin tìm số lớn nhất từ xâu đã cho bằng cách hãy loại bỏ một số kí tự ra khỏi xâu sao cho 5 kí tự cuối cùng còn lại theo đúng thứ tự đó tạo thành số lớn nhất. 
Dữ liệu: Dòng 1 gồm một xâu cho trước 
Kết quả: Một dòng duy nhất chứa số nguyên là số lớn nhất mà Bin tìm được sau khi loại bỏ các kí tự.
Ví dụ:
nmax.inp
nmax.out
13a7b48cb7d9e68f7
89687
Bài 3: Chia quà tết
Tên file: gift.pas
	Dữ liệu vào: gift.inp
	Dữ liệu ra: gift.out
Trường THPT A chia quà tết cho học sinh, có X chiếc áo và Y hộp bánh để chia quà cho học sinh diện chính sách cuối năm 2018. Nhà trường chia quà cho học sinh thoả mãn điều kiện: nếu chia cho n học sinh diện chính sách thì các học sinh phải nhận được số lượng chiếc áo như nhau, số lượng hộp bánh như nhau, đồng thời phải chia hết tất cả X chiếc áo và Y hộp bánh. Em hãy giúp nhà trường liệt kê tất cả các phương án chia quà thoả mãn điều kiện nêu trên.
Dữ liệu: Dòng 1: hai số nguyên X, Y (1<= X, Y <= 109)
Kết quả: Dòng 1.. m (m là số phương án chia quà): trên mỗi dòng ghi ba số nguyên n, a, b (mỗi số cách nhau một dấu cách) là một phương án chia quà có n học sinh được chia quà, mỗi học sinh nhận a chiếc áo và b hộp bánh. Các phương án được liệt kê ở các dòng liên tiếp theo thứ tự n tăng dần.
Ví dụ: 
gift.inp
gift.out
9 12
1 9 12
3 3 4
6 18
1 6 18
2 3 9
3 2 6
6 1 3
-----------Hết -----------
Đáp án:
Bài 1: Đếm đoạn
uses math;
var q,d,z,n,i,s,m,k,j:longint;
 f, g:text;
 a, b:array[0..1000000]of qword;
begin
 assign(f,'nmax.inp');reset(f);
 assign(g,'nmax.out');rewrite(g);
 readln(f,n,m);
 // s:=0;
 // d:=0;
 for i:=1 to n do
 read(f,a[i]);
 q:=0;
 for i:=1 to n do
 begin
 if a[i]>=m then
 begin
 q:=i;
 b[i]:=b[i-1]+q;
 end
 else
 b[i]:=b[i-1]+q;
 end;
 writeln(g,b[n]);
 close(f);
 close(g);
End.
Bài 2: Tìm số lớn
var f,g:text;
 s:ansistring;
Procedure Nhap;
Begin
 assign(f,'nmax.inp'); reset(f);
 assign(g,'nmax.out'); rewrite(g);
 read(f,S);
 close(f);
end;
Procedure xuly;
var i,j,k:byte;
begin
 i:=1;
 repeat
 if s[i] in ['0'..'9'] then inc(i) else delete(s,i,1);
 until i>length(s);
 for i:=1 to 5 do
 begin
 k:=i;
 for j:=i to length(s)+i-5 do
 if s[k]<s[j] then k:=j;
 if k>i then delete(s,i,k-i);
 end;
 writeln(g,copy(s,1,5));
 close(g);
end;
Begin
 Nhap; xuly; readln;
End.
Bài 3: Chia quà tết
//gift.pas
var i,x,y:longint;
f,g: text;
function UCLN(x,y:longint):longint;
var sd:longint;
begin
 while y<>0 do
 begin
 sd:= x mod y;
 x:=y;
 y:=sd;
 end;
 UCLN:=x;
end;
begin
 assign(f,'gift.inp'); reset(f);
 assign(g,'gift.out'); rewrite(g);
 read(f,x,y);
 for i:=1 to UCLN(x,y) do
 begin
 if (x mod i=0) and (y mod i =0) then
 writeln(g,i,' ',x div i,' ',y div i);
 end;
 close(f);
 close(g);
 readln
End.

Tài liệu đính kèm:

  • docxde_thi_chon_hoc_sinh_gioi_cap_truong_lop_11_mon_tin_hoc.docx