Tải bản đầy đủ (.pdf) (32 trang)

TỔNG hợp đề THI và HƯỚNG dẫn THI HSG môn TIN học lớp 12

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.79 MB, 32 trang )

SỞ GIÁO DỤC – ĐÀO TẠO
TỈNH BÀ RỊA – VŨNG TÀU

KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
LỚP 12 THPT, NĂM 2010 – 2011

HƯỚNG DẪN CHẤM
MÔN THI: TIN HỌC
(Hướng dẫn này gồm trang)
Bài 1: (8 điểm) WELCGATE
Demo WELCGATE
Program WELCGATE;
Const max=100;
Var f:text;n,currentsum,currentmax:integer;
a:array[1..max,1..max]of integer;
notuse:array[1..max]of boolean;
x,xmax:array[1..max]of integer;
Procedure Readfile;
var i,j:integer;
begin
assign(f,'welcgate.inp');
reset(f);
readln(f,n);
For i:=1 to n do
For j:=1 to n do read(f,a[i,j]);
close(f);
end;
Procedure ini;
begin
Currentmax:=0;Currentsum:=0;
Readfile;


Fillchar(notuse,n,true);
end;
Procedure Writefile;
var i:integer;
Begin
assign(f,'welcgate.out');
rewrite(f);
Writeln(f,currentmax);
For i:=1 to n do write(f,' ',xmax[i]);
close(f);
end;
Procedure testmax;
var i:integer;
begin
if currentsum>currentmax then
begin
currentmax:=currentsum;
For i:=1 to n do xmax[i]:=x[i];
end;
end;

1


Procedure Try(i:integer);
var j:integer;
begin
For j:=1 to n do
if notuse[j] then
begin

x[i]:=j;
notuse[j]:=false;
currentsum:=currentsum+a[i,j];
if i= n then testmax
else try(i+1);
notuse[j]:=true;
currentsum:=currentsum-a[i,j];
end;
end;
Begin
ini;
try(1);
Writefile;
End.

Câu 2 (7 điểm): NETWORK
-Thuật toán: sử dụng thuật toán duyệt đồ thị theo chiều sâu(DFS).
 Bắt đầu duyệt từ đình u bằng thuật toán DFS(u).
 Nếu visit[v]=true, có nghĩa v đã thăm => giữa u và v có đường đi.
 Để in đường đi ta dùng mảng truoc để lưu đường đi từ u đến v trong đồ thị (truoc[u]=v,
có nghĩa muốn đến u trước tiên phải qua v).
Demo NETWORK
Program NETWORK;
Const Max=100;
Type Dothi=array[1..Max,1..Max] of 0..1;
Var DT:Dothi;
visit:array[1..Max] of boolean;
truoc,dd:array[1..Max] of byte;
N,u,v:Byte;
fin,fout: Text;

Procedure Init;
var i,j: byte;
Begin
assign(fin,'Network.inp');
Reset(fin);
{Khoi tao cac gia tri N,i,j}
Readln(fin,N,u,v);
{Khoi tao gia tri cho do thi DT}
Fillchar(DT, sizeof(DT),0);
While not EOF(fin) Do
Begin
readln(fin,i,j);
DT[i,j]:=1;
DT[j,i]:=1;
end;
Close(fin);

2


{Khoi tao gia tri cho mang visit}
Fillchar(visit, sizeof(visit),False);
{Khoi tao mang truoc}
Fillchar(truoc, sizeof(truoc),0);
Fillchar(dd, sizeof(dd),0);
{Mo file de ghi}
assign(fout,'Network.out');
Rewrite(fout);
End;
{Thu tuc DFS duyet do thi theo chieu sau}

Procedure DFS(u:Byte);
var v: byte;
Begin
{Tham u}
visit[u]:=true;
For v:=1 to N do
if (not visit[v]) and (DT[u,v]=1) then
Begin
truoc[v]:=u;
DFS(v);
end;
end;
{Thu tuc ghi duong di cua hanh trinh}
Procedure Path(u,v:byte);
var k,i: byte;
Begin
DFS(u);
if visit[v] then
Begin
k:=1;
dd[k]:=v;
While truoc[v]<>u do
Begin
inc(k);
dd[k]:=truoc[v];
v:=truoc[v];
end;
inc(k);
dd[k]:=u;
{Ghi duong di vao file}

For i:=K downto 1 do
Write(fout,dd[i],' ');
end
else Write(fout,-1);
Close(fout);
end;
BEGIN
Init;
Path(u,v);
END.

3


Câu 3 (5 điểm): PICKGOLD
Demo PICKGOLD
Program PICKGOLD;
Const fi='PICKGOLD.INP';
fo='PICKGOLD.OUT';
Var b:array[1..99,1..99]of longint;
a:array[1..9801]of longint;
t:array[1..9801]of longint;
n,m:integer;
kq:longint;
f:text;
{đổi thành dãy 1 chiều}
procedure doiday;
var i,j:integer;
begin
m:=0;

for i:=1 to n do
if i mod 2=1 then
for j:=1 to n do
begin
inc(m);
a[m]:=b[i,j];
end
else
for j:=n downto 1 do
begin
inc(m);
a[m]:=b[i,j];
end;
end;
{thủ tục đọc file}
procedure Readfile;
var i,j:integer;
begin
assign(f,fi);reset(f);
readln(f,n);
for i:=1 to n do
begin
for j:=1 to n do
read(f,b[i,j]);
readln(f);
end;
close(f);
end;
{thủ tục ghi kết quả}
procedure Writefile;

var i:integer;
begin
assign(f,fo);rewrite(f);
writeln(f,kq);
close(f);
end;

4


{thủ tục quy hoạch động}
procedure Dynamic;
var i,j:integer;
max:longint;
begin
doiday;
kq:=0;
fillchar(t,sizeof(t),0);
t[1]:=a[1];
t[2]:=a[2];
for i:=3 to m do
begin
max:=0;
for j:=1 to i-2 do
if t[j]>max then
max:=t[j];
t[i]:=max+a[i];
if t[i]>kq then kq:=t[i];
end;
end;

{chương trình chính}
Begin
Readfile;
Dynamic;
Writefile;
End.

================Hết================

5


SỞ GIÁO DỤC – ĐÀO TẠO
TỈNH BÀ RỊA VŨNG TÀU

KỲ THI LẬP ĐỘI TUYỂN HỌC SINH GIỎI
LỚP 12 THPT DỰ THI QUỐC GIA, NĂM HỌC 2010-2011

HƯỚNG DẪN CHẤM ĐỀ THI CHÍNH THỨC
MÔN THI: TIN HỌC
(Hướng dẫn chấm có 1 trang)
Bài 1: Những chú dế (6 điểm)
Chấm theo test, bộ gồm 24 test (mỗi test 0.25 điểm).
Test
01
02
03
04
05
06

07
08
09


CRICKETS.INP CRICKETS.OUT
...
...
...
...
...
...
...
...
...
...
...
...

Bài 2: Hệ thống bài tập (7 điểm)
Chấm theo test, bộ gồm 28 test (mỗi test 0.25 điểm).
Test
01
02
03
04
05
06
07
08

09


HOMEWORK.INP HOMEWORK.OUT
...
...
...
...
...
...
...
...
...
...

Bài 3: Con đường mòn (7 điểm)
Chấm theo test, bộ gồm 28 test (mỗi test 0.25 điểm).
Test
01
02
03
04
05
06
07
08
09


TRAIL.INP


TRAIL.OUT

...
...
...
...
...
...
...
...
...
...
------ HẾT -----Trang 1


SỞ GIÁO DỤC – ĐÀO TẠO
TỈNH BÀ RỊA – VŨNG TÀU

KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
LỚP 12 THPT, NĂM 2008 – 2009

HƯỚNG DẪN CHẤM ĐỀ CHÍNH THỨC
MÔN THI: TIN HỌC
(Hướng dẫn này gồm 04 trang)
Bài 1: Tính gần đúng với độ chính xác tùy ý (4 điểm)
k
k
Gọi x là kết quả gần đúng của
a ta có x = a , việc tìm giá trị gần đúng của x

dẫn đến tìm nghiệm gần đúng của phương trình xk – a = 0.
Đặt f(x) = xk – a => f'(x) = k.xk-1, công thức tính gần đúnh như sau:
x = x – (xk – a)/(k.xk-1), với sai số là  = | xk – a |
Theo công thức trên ta có chương trình như sau:
1- Hàm tính giá trị gần đúng, đây là chương trình con chính (3 đ):
Function Sq(a:real;k:integer;saiso:real):real;
Var tmp:real;
Begin
tmp:= abs(Pow(x,k)- a);
while (tmp > saiso) do
begin
x:=x - tmp/(k*pow(x,k-1));
tmp:= abs(Pow(x,k)- a);
end;
Sq:=abs(x);
End;

2- Hàm Pow( ) là hàm dùng để tính lũy thừa: (0.5 đ)
Function Pow(x:real;n:integer):real;
Var tmp:real;i:integer;
begin
tmp:=x;
for i:=1 to n-1 do tmp:=tmp*x;
Pow:=tmp;
end;

3- Lắp ráp, khai báo biến,… (0.5 đ)
Bài 2: Ma phương bậc n (10 điểm)
Đây là loại bài toán hoán vị tổ hợp cơ bản. Tuy nhiên sự bùng nổ tổ hợp rất nhanh, vì
vậy mấu chốt là phải làm thế nào để quay lui sớm, tăng tốc độ chương trình. Hiện nay

người ta có nhiều kỹ thuật khéo léo để quay lui sớm, đối với học sinh ta chỉ yêu cầu
đạt được một số kỹ thuật cơ bản nhất.
Tập cấu hình: X = {x1, x2,…, xk} với k = n2 (n là bậc của ma phương)
Tập giá trị đề cử: J = {1,…, n2}
1- Thủ tục chính để xây dựng cấu hình: (4 đ)
Procedure Try(i:integer);{ma tran n x n dc tinh tu 0..n-1}
Var j,t,col,row:integer;
begin
For j:=1 to k do
if a[j] then {a[j] phai dc khoi tao la true}
begin
col:=i mod n;
row:=i div n;
x[row,col]:=j;
a[j]:=false;
if i=k-1 then
begin
if (x[row,col]>x[0,n-1]) then Test_Save
end
Else If Available(row,col) then Try(i+1);
a[j]:=true;
x[row,col]:=0;
end;
end;


2- Hàm Available( ) dùng để xét có nên đi tiếp hay không, có nhiều vấn đề ở hàm
này, nhưng ta chỉ yêu cầu học sinh một số kỹ thuật sau: (4 đ)
a. Tại một phần tử, xét trên dòng, trên cột, trên đường chéo phải, đường chéo trái ta
tính tổng các phần tử đã đặt vào T, sau đó xét

nếu T + (các phần tử nhỏ nhất có thể) lớn hơn Constsum thì quay lui
hoặc nếu T + (các phần tử nhỏ nhất có thể) nhỏ hơn Constsum thì quay lui
b. Để tránh tình trạng hoán vị, ta ràng buộc các điều kiện:
x[0,n-1]
> x[0,0] (Tránh đối xứng theo trục đứng)
x[n-1,n-1] > x[0,n-1] (Tránh Đx theo trục ngang và quay theo đường chéo trái)
x[n-1,0]
> x[0,n-1] (Tránh quay theo đường chéo phải)
Function Available(r,c:integer):boolean;
Var Colsum,Rowsum,DiagnsumR,DiagnsumL,t:integer;
begin
Available:=true;
Colsum:=0;DiagnsumR:=0;
Rowsum:=0;DiagnsumL:=0;
For t:=r downto 0 do Colsum:=Colsum+x[t,c];
For t:=c downto 0 do Rowsum:=Rowsum+x[r,t];
if r=c then For t:=r downto 0 do DiagnsumR:=DiagnsumR+x[t,t];
if (c+r=n-1) then
For t:=c to n-1 do DiagnsumL:=DiagnsumL+x[n-1-t,t];
if ((Rowsum+(n-c)*(n-c-1) div 2>Constsum)
or(Rowsum+(n-1-c)*k-((n-c-1)*(n-c-2)div 2)then available:=false
else
if ((Colsum+(n-r)*(n-r-1) div 2>Constsum)
or(Colsum+(n-1-r)*k-((n-r-1)*(n-r-2)div 2)then available:=false
else
if (r=c)and((DiagnsumR+(n-c)*(n-c-1)div 2>Constsum)
or(DiagnsumR+(n-1-c)*k-(n-c)*(n-c-1) div 2then available:=false

else
if (c+r=n-1) then
if ((DiagnsumL+c*k-((2+c)*c div 2)or(DiagnsumL+(c*(c+1) div 2)>Constsum))
then available:=false
else
begin
if(c=0)and (diagnsumL<>constsum) or (diagnsumL<>Colsum)
or (x[n-1,0]else
if (c=n-1) and (x[r,c]end
end;

3- Các công việc còn lại (2 đ)
Bài 3: Lập kế hoạch cho thuê máy (6 điểm)
Đây là loại bài toán tối ưu tổ hợp, dùng phương pháp duyệt đệ quy quay lui. Để bài
toán chạy nhanh hơn chương trình sử dụng kỹ thuật nhánh cận để dự đoán đi theo
hướng này thì có khả năng đạt kết quả tốt hơn hay không.
Chương trình gồm các thủ tục chính như sau:
1. Thủ tục xây dựng phương án tối ưu, đây là thủ tục quan trọng nhất, học sinh viết
hoàn chỉnh thủ tục này cho 3 đ.
Tư tưởng chính của thủ tục này như sau:
- Lần lượt xét đệ quy các khách hàng từ 1 đến m
- Mỗi khách hàng thứ i có 2 lựa chọn (chấp nhận hoặc không chấp nhận). Nếu chấp
nhận KH i thì Cập nhật các ngày của KH i vào danh sách các ngày cho thuê trong
tháng. Vấn đề là như thế nào là chấp nhận? KH i Chỉ được chấp nhận nếu các ngày
yêu cầu của KH i không trùng với các ngày của các KH đã được chấp nhận trước đó.
Sau khi xét xong phần tử m ta có một PA mới, so sánh PA mới với PA mẫu trước đó,
nếu tốt hơn thì lấy PA mới làm PA mẫu.

Theo trên ta có:


Tập cấu hình X= {x1,…, xm}
Tập giá trị đề cử cho mỗi xi X: J={0, 1}
Procedure Try(i:integer); (3 đ)
var j,k:integer;Ok:Boolean;
begin
For j:=0 to 1 do
Begin
Ok:=false;
If j=1 then
begin
Ok:=Belongto(i);
If Ok Then
begin
x[i]:=true;
Update(i);
end
Else x[i]:=false
end
Else x[i]:=false;
If i=m then begin if Tday>TdayProj then SaveProj end {*}
else if Tday+(m-i)*daymax>TdayProj then Try(i+1);
if Ok then Clear(i);
x[i]:=false;
End
end;

Lưu ý 2 dòng in đậm {*} ở trên, nếu học sinh chỉ viết như sau:

If i=m then begin if Tday>TdayProj then SaveProj end
else Try(i+1);

thì trừ 1.5 điểm, vì đây chính là kỹ thuật chính của nhánh cận.
Các hàm, thủ tục và biến sử dụng trong thủ tục này:
- Các hàm, thủ tục: Belonglo, Update, Clear, SaveProj (Sẽ được giải thích chi tiết
dưới đây)
- Các biến Tday: lưu Tổng số ngày cho thuê máy của PA đang xét tính đến phần tử i,
TdayProj: lưu tổng số ngày của PA mẫu. Biến Daymax la số ngày lớn nhất của một
KH yêu cầu, giá trị này được xác định trong thủ tục đọc file (Rfile).
2. Hàm Belongto(i), hàm này dùng để kiểm tra các ngày yêu cầu của KH i có trùng
với các ngày của các KH đã chọn trước đó hay không, nếu không trùng thì trả về kết
quả TRUE.
Function Belongto(i:integer):boolean; (0.5 đ)
var j:integer;stop:boolean;
begin
j:=1;
stop:=false;
while not(stop) do
begin
if days[customer[i][j]] then stop:=true;
j:=j+1;
if customer[i][j]=0 then stop:=true;
end;
if customer[i][j]=0 then Belongto:=true
else Belongto:=false;
end;

Các biến Days[i] = true nếu ngày i đã có người thuê máy, ngược lại là False.
Biến Costomer[i][j] mô tả danh sách các ngày trong tháng yêu cầu thuê máy của KH

i.
3. Thủ Update(i) cập nhật các ngày cho thuê máy của KH i nếu KH i được chấp nhận.
Procedure Update(i:integer); (0.25 đ)
var j:integer;stop:boolean;
begin


j:=1;stop:=false;
While not(stop) do
begin
days[customer[i][j]]:=true;
Tday:=Tday+1;
j:=j+1;
if customer[i][j]=0 then stop:=true;
end;
end;

4. Thủ tục Clear(i) đối nghịch với Update(i) nó xóa các ngày cho thuê máy của KH i
trước khi quay lui để xét một PA mới.
Procedure clear(i:integer); (0.25 đ)
var j:integer;stop:boolean;
begin
j:=1;stop:=false;
While not(stop) do
begin
days[customer[i][j]]:=false;
Tday:=Tday-1;
j:=j+1;
if customer[i][j]=0 then stop:=true;
end;

end;

5. Thủ tục SaveProj nếu PA mới tốt hơn PA mẫu thì gọi thủ tục này để lưu kết quả
của PA mới.
Procedure SaveProj;
var i:integer;
begin
TdayProj:=Tday;
For i:=1 to m do CusProj[i]:=x[i];
For i:=1 to 30 do DaysProj[i]:=Days[i];
end;

Biến CusProj[] lưu danh sách các khách hàng được chấp nhận của PA mẫu
DaysProj[] đánh dấu các ngày cho thuê máy trong tháng (True/false).
Cách cho điểm:
- Chương trình chạy đúng, có dùng kỹ thuật nhánh cận để tăng tốc độ chương trình
cho điểm tối đa
- Chương trình không hoàn chỉnh thì chấm điểm các thủ tục và cho điểm theo hướng
dẫn trên, tổng số điểm không quá 4.5 đ (trong đó 0.25 dành cho các khai báo và các
thủ tục còn lại).


SỞ GIÁO DỤC – ĐÀO TẠO
TỈNH BÀ RỊA – VŨNG TÀU

KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
LỚP 12 THPT, NĂM 2008 – 2009

MÔN THI: TIN HỌC
ĐỀ CHÍNH THỨC

Thời gian làm bài thi: 180 phút
Ngày thi: 11 – 11 – 2008
(Đề thi có 1 trang)
Bài 1: Tính gần đúng với độ chính xác tùy ý (4 điểm)
Cho f(x) là hàm đa thức có đạo hàm (khác không) lân cận nghiệm.
Gọi xn là nghiệm gần đúng của f(x) thì:
f(x )
xn+1 = xn - f '(xn ) là nghiệm gần đúng tốt hơn.
n
k
Dựa vào công thức trên hãy viết chương trình tính a
Với a, k, sai số tuyệt đối  (  10-6) và nghiệm phỏng đoán ban đầu  nhập từ bàn phím.
Bài 2: Ma phương bậc n (10 điểm)
Cho một mảng 2 chiều cấp n x n với các phần tử là các số tự nhiên từ 1 đến n2, (mỗi số chỉ xuất
hiện 1 lần) thỏa mãn tính chất: “Tổng các phần tử trên mỗi dòng, mỗi cột, mỗi một trong hai đường
chéo đều có cùng một giá trị”
Hãy viết chương trình liệt kê tất cả các ma phương bậc 5.
Lưu ý sự khác nhau giữa các ma phương do phép biến hình đơn giản (quay, đối xứng) không được xem là một
cách mới.
Ví dụ về Ma phương bậc 3:
8
1
6
3
5
7
4
9
2
Tổng các phần tử trên các dòng, các cột, các đường chéo đều bằng 15.

Các ma phương sau đây là một biến hình của Ma phương trên và không được xem là một cách mới:
4
3
8
4
9
2
6
1
8
9
5
1
3
5
7
7
5
3
2
7
6
8
1
6
2
9
4

Bài 3: Lập kế hoạch cho thuê máy (6 điểm)

Công ty A có một cái máy cắt lúa để cho thuê. Đầu tháng công ty A nhận được đơn đăng ký
thuê máy của m khách hàng. Mỗi khách hàng i sẽ cho biết tập Ni các ngày trong tháng cần sử dụng
máy (i= 1, 2, …, m; tháng có 30 ngày). Công ty A chỉ có quyền hoặc là từ chối yêu cầu của khách
hàng i hoặc là nếu chấp nhận thì phải bố trí máy phục vụ khách hàng i đúng những ngày mà khách
hàng này yêu cầu. Hỏi công ty A phải tiếp nhận các yêu cầu của khách hàng như thế nào để tổng số
ngày sử dụng máy là lớn nhất.
Dữ liệu vào: File “Request.inp”
- Dòng đầu tiên: Là một số nguyên K (1 ≤ K ≤ 30), mô tả số lượng khách hàng đăng ký thuê máy.
- m dòng tiếp theo: mỗi dòng mô tả tập Ni các ngày trong tháng cần sử dụng máy của khách hàng thứ i.
Dữ liệu xuất: File “Respond.out”
- Dòng đầu tiên: Là một số nguyên, mô tả tổng số ngày cho thuê máy.
- Dòng thứ 2: Mô tả các khách hàng được thuê máy.
- Dòng thứ 3: Mô tả các ngày mà máy được cho thuê.
Ví dụ:
Request.inp

Respond.out

4
3
2
1
1

10
1 4
1 2 3 4 5 6 7 9 10 15

5
4

2
2

7 9
6 8
7
4 6 10 15

-----Hết----Họ tên thí sinh:……………………………………
Chữ ký GT 1:…………………..
Số báo danh:………………………………………


SỞ GIÁO DỤC VÀ ĐÀO TẠO
TỈNH BÀ RỊA-VŨNG TÀU

KỲ THI CC TIN HỌC TRÌNH ĐỘ A
Khoá thi ngày 19-12-2010
Môn thi: thực hành
Thời gian: 60 phút (Không kể thời gian phát đề)

ĐỀ SỐ 1

PHẦN I: MS-WORD (4,5 điểm)
Thí sinh khởi động chương trình soạn thảo văn bản MS-WORD và thực hiện 4 yêu cầu sau đây:
1. Mở một tập tin mới để làm bài và lưu tên bài là số báo danh của chính thí sinh.(vd: 130001.Doc);
2. Định dạng trang in văn bản: khổ giấy A4, theo hướng đứng của trang và căn lề trái: 3cm, lề phải: 2cm, lề
trên và lề dưới: 2cm . Hình ảnh : Tuỳ chọn; tuy nhiên kích thước điều chỉnh sao cho phù hợp với văn bản;
3. Nhập và định dạng đoạn văn bản theo mẫu sau đây:


Ngày 20.1, thêm nhiều trường ĐH-CĐ tiếp tục công bố chỉ tiêu
và các thông tin mới nhất về tuyển sinh năm 2010.
Trường ĐH Nông Lâm TP.HCM: Dự kiến tuyển 4.800 chỉ tiêu
(CT), tuyển sinh trong cả nước. Riêng ngành Tiếng Anh, Tiếng
Pháp môn ngoại ngữ nhân hệ số 2. …..
Bậc ĐH như sau: Cơ khí chế biến bảo quản nông sản thực

phẩm (NSTP): 60 CT (A); Cơ khí nông lâm: 60 (A); Chế biến
lâm sản (Chế biến lâm sản, Công nghệ giấy và bột giấy,
Thiết kế đồ gỗ nội thất): mỗi chuyên ngành 60 CT (A);
Hà Ánh - Diệu Hiền
(thí sinh được thay thế bằng hình ảnh
khác)

4. Thoát khỏi MS-WORD hoặc thu nhỏ màn hình để tiếp tục làm phần 2.
PHẦN II : MS EXCEL (5,5 điểm)


Yêu cầu :

1. Nhập bảng dữ liệu trên, định dạng theo mẫu.(1 điểm)
1. Lập công thức Tính mệnh giá bằng cách dựa vào bảng cước Internet của từng loại thẻ.(1 điểm)
2. Lập công thức Đổi thời gian truy cập từ giờ sang phút.(0.5 điểm)
3. Lập công thức Tính số tiền đã truy cập biết rằng số tiền ấy bằng số phút truy cập nhân với giá
được cho trong bảng cước Internet.(1.5 điểm)
4. Lập công thức Tính số tiền còn lại và làm tròn đến nghìn đồng biết rằng số tiền còn lại bằng Mệnh
giá trừ cho số tiền đã truy cập.(1.5 điểm)

-----------------HẾT-----------------



Khóa thi 19-12-2010

H ƯỚNG DẪN CHẤM
MÔN THI: TIN HỌC ( Phần thực hành)
ĐỀ SỐ 1

PHẦN I: MS-WORD (4.5 điểm)
- Định dạng đúng trang in :

1.0 điểm

- Nhập đúng (chính tả) và định dạng toàn bộ văn bản:

1.5 điểm

- Tạo và định dạng đúng WordArt:

1.0 điểm

- Chèn hình ảnh:

0.5 điểm
(thí sinh đặt tên file đúng qui định : 0.5đ)

PHẦN II : MS EXCEL (5.5 điểm)

1. Nhập bảng dữ liệu trên, định dạng theo mẫu.

(1 điểm)


1. Lập công thức Tính mệnh giá bằng cách dựa vào bảng cước Internet của từng loại thẻ. (1 điểm)
C3= VLOOKUP(B3;$B$10:$D$13;2;0)
2. Lập công thức Đổi thời gian truy cập từ giờ sang phút.

(0.5 điểm)

D3=D3*60
3. Lập công thức Tính số tiền đã truy cập biết rằng số tiền ấy bằng số phút truy cập nhân với giá
được cho trong bảng cước Internet.
(1.5 điểm)
F3=E3*VLOOKUP(B3;$B$10:$D$13;3;0)

(1.5 điểm)

4- Tính số tiền còn lại:
(Đề 2: thay hàm VLOOKUP bằng HLOOKUP)
- HẾT -


SỞ GIÁO DỤC – ĐÀO TẠO
TỈNH BÀ RỊA – VŨNG TÀU

KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH
LỚP 12 THPT, NĂM 2010 – 2011
MÔN THI: TIN HỌC
Thời gian làm bài thi: 180 phút
Ngày thi: 2 – 11 – 2010
(Đề thi có 2 trang)


Bài 1 (8 điểm)
Mã bài: WELCGATE
Để chào mừng đại lễ 1000 năm Thăng Long - Hà Nội, UBND TP. Hà Nội quyết định giao
cho Sở Qui hoạch kiến trúc xây dựng N cổng chào trên N con đường của TP. Hà Nội nhằm
tôn vinh vẻ đẹp của Thủ Đô. Các con đường được đánh số từ 1 đến N, các cổng chào được
đánh số từ 1 đến N. Nếu cổng chào i xây dựng trên con đường j thì điểm thẩm mỹ đạt được là
a[i,j] (1<=i; j<= N).
Yêu cầu: Viết chương trình giúp sở Qui hoạch kiến trúc Hà Nội xây dựng tất cả các cổng
chào trên các con đường sao cho tổng điểm thẩm mỹ là lớn nhất
Dữ liệu vào: file “Welcgate.inp”
- Dòng đầu mô tả số nguyên N
- N dòng tiếp theo, mô tả bảng 2 chiều N x N; phần tử hàng i, cột j mô tả điểm của cổng thứ i
được xây dựng trên con đường thứ j.
Dữ liệu ra:“Welcgate.out”
- Dòng đầu chứa một số nguyên mô tả tổng điểm lớn nhất tìm được
- Dòng thứ 2 chứa N số nguyên, số thứ i có giá trị j mô tả cổng thứ i xây dựng trên con đường
thứ j
Ví dụ:
Welcgate.inp
Welcgate.out
5
69
12345
21345
10 9 8 7 6
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
Bài 2 (7 điểm)
Mã bài: NETWORK

Để tăng cường ứng dụng CNTT trong ngành Giáo dục & và Đào Tạo (GDĐT) của tỉnh Bà
Rịa -Vũng Tàu, Sở GDĐT tỉnh Bà Rịa Vũng tàu đã xây dựng N trạm truyền dữ liệu đặt nhiều
nơi trong toàn Tỉnh, các trạm được đánh số từ 1 đến N. Sau đó đã tiến hành nối mạng giữa các
trạm để thông tin liên lạc trong nội bộ của Ngành, tuy nhiên trong số N trạm truyền dữ liệu
trên thì có một số trạm chưa được nối mạng được với nhau (vì vị trí địa lý của trạm và điều
kiện kinh tế, kỹ thuật của địa phương). Một nhân viên đang ở trạm U muốn gửi tới trạm V một
thông điệp nhưng không xác định là có gửi được hay không.
Yêu cầu: Hãy viết chương trình cho biết có thể truyền một thông điệp từ điểm U đến điểm V
hay không? Nếu có hãy ghi ra các trạm theo thứ tự mà thông điệp đó phải đi qua.
Dữ liệu vào: file: “NetWork.inp” có chứa 2 dòng
- Dòng đầu ghi ba số N, U, V (1< U, V < N <=100) mỗi số cách nhau một khoảng trắng.
- Từ dòng thứ 2 trở đi, mỗi dòng ghi hai số i, j cách nhau bằng một khoảng trắng nếu giữa 2
trạm được nối mạng.
Dữ liệu ra: file “Network.out”
- Nếu có thể truyền thông điệp từ trạm U đến trạm V thì ghi tên các theo thứ tự trong hành
trình từ trạm U đến trạm V.
- Nếu không thể gửi thông điệp từ trạm U đến trạm V thì ghi vào file số -1.


Ví dụ:
NETWORK.INP NETWORK.OUT
736
3256
13
15
25
32
47
56


3
1
4

2
6

7
5

Bài 3 (5 điểm)
Mã bài: PICKGOLD
Sau khi Aladin bị 40 tên cướp bắt, do biết Aladin là người tốt bụng nên chúng đã nghĩ ra
rất nhiều cách để có thể cho Aladin một số vàng và rời khỏi nơi đó. Một trong những cách
chúng đưa ra như sau: chúng dắt Aladin vào một mảnh vườn được thiết kế theo dạng lưới ô
vuông gồm N hàng và N cột (N lẻ). Trong đó các bức tường được xây lên dọc theo các hàng
để tạo thành một lối đi (theo hình mô tả). Mảnh vườn đó chỉ có 1 lối vào và 1 lối ra, trên mỗi ô
chúng để một số thỏi vàng, chúng cho phép Aladin di qua ô nào thì có thể lấy đi các thỏi vàng
ở ô đó nhưng bắt buộc là không được lấy vàng ở 2 ô liên tiếp nhau trên đường đi.

(hình mô tả với kích thước 5*5 của mảnh vườn)
Yêu cầu: Hãy viết chương trình giúp cho Aladin có thể lấy được số thỏi vàng nhiều nhất.
Dữ Liệu vào: file ‘Pickgold.inp’:
 Dòng đầu tiên chứa số nguyên dương N (N ≤99)
 N dòng tiếp theo mô tả bảng 2 chiều gồm N x N, mỗi số nguyên dương được mô tả là số
thỏi vàng để ở ô tương ứng (có giá trọ nhỏ hơn 106).
Dữ liệu ra: file ‘Pickgold.out’
- Một số nguyên là là số thỏi vàng nhiều nhất mà Aladin nhận được.
(hai phần tử đứng kế nhau cách nhau một dấu cách)
Ví dụ:

GOLD.INP
GOLD.OUT
3
16
373
231
163

------------------------------------------------------HẾT--------------------------------------------------------------

Họ tên thí sinh:……………………………………
Số báo danh:………………………………………

Chữ ký GT 1:…………………..


SỞ GIÁO DỤC – ĐÀO TẠO
TỈNH BÀ RỊA VŨNG TÀU

ĐỀ THI CHÍNH THỨC

KỲ THI LẬP ĐỘI TUYỂN HỌC SINH GIỎI
LỚP 12 THPT DỰ THI QUỐC GIA, NĂM HỌC 2010-2011
MÔN THI: TIN HỌC
Thời gian làm bài thi: 180 phút
Ngày thi: 07/12/2010
(Đề thi có 2 trang)

Bài 1: Những chú dế (6 điểm)
Tên file chương trình ‘CRICKETS.PAS’

Dọc theo một bờ đê được tính từ trái qua phải có n+1 cái hang, cái hang thứ i có độ cao hi, có n chú dế đang
sinh sống (được đánh số lần lượt từ 1 đến n), chú dế thứ i sống trong cái hang thứ i, hang thứ n+1 có độ cao
lớn nhất trong mọi hang (giả sử ta cho nó có độ cao là -1). Khi có một hiện tượng nào đó bất thường xảy ra
với bờ đê đó, mỗi chú dế ra khỏi hang và sẽ thực hiện một số bước nhảy, chú dế thứ i sẽ thực hiện ji lần
nhảy, mỗi lần nhảy thì một chú dế sẽ nhảy qua ngay nơi bên phải nhưng có độ cao tốt hơn (lớn hơn) chỗ
hiện tại của nó. Như vậy, sau khi n chú dế thực hiện hết số bước nhảy của nó thì có nơi có thể không có hay
có một vài chú dế sinh sống, trong trường hợp chú dế đã đến hang có độ cao hn+1 thì không thực hiện nhảy
tiếp nữa.
Yêu cầu: Hãy xác định độ cao nơi ở mới của mỗi chú dế.
Dữ liệu vào từ file ‘CRICKETS.INP’:
 Dòng thứ nhất chứa số nguyên dương n (n≤106).
 Dòng thứ hai chứa n số nguyên dương h1, h2,… hn (hi≤106; i=1,2,…n).
 Dòng thứ hai chứa n số nguyên dương j1, j2,… jn (ji≤106; i=1,2,…n).
Kết quả ghi vào file ‘CRICKETS.OUT’: một dòng chứa n số nguyên là độ cao nơi ở mới của mỗi chú dế.
Ví dụ
CRICKETS.INP CRICKETS.OUT
8
4 5 5 -1 -1 8 8 -1
31456238
12134212
Ghi chú: Có 50% số test với n≤10000.
Bài 2: Hệ thống bài tập (7 điểm)
Tên file chương trình ‘HOMEWORK.PAS’
Thầy giáo tin học cho lớp n bài tập về nhà (được đánh số lần lượt từ 1 đến n), trong đó có những bài chỉ có
thể giải được sau khi đã làm một số bài khác. An không có đủ thời gian làm bài, vì thế sau khi đọc đề bài tất
cả các bài tập đó, An đã ước lượng thời gian cho từng bài và thấy rằng mình chỉ có thể làm được n-1 bài
trong n bài đó.
Cho các số nguyên n, m và ti. Trong đó, n là số lượng bài tập, m là số cặp quan hệ dạng (x, y) cho biết bài y
phải làm sau bài x, ti là thời gian làm bài thứ i.
Yêu cầu: Hãy xác định thời gian tối thiểu cần thiết để An thực hiện được kế hoạch của mình.

Dữ liệu vào từ file ‘HOMEWORK.INP’:
 Dòng thứ nhất chứa số nguyên dương n và m (n≤106; m≤106).
 Dòng thứ hai chứa n số nguyên dương t1, t2,… tn (ti≤106; i=1,2,…n).
 Mỗi dòng trong m dòng sau chứa 2 số nguyên dương x, y (x, y≤n; x≠y).

Trang 1/2


Kết quả ghi vào file ‘HOMEWORK.OUT’: một số nguyên dương là thời gian tối thiểu tìm được.
Ví dụ
HOMEWORK.INP HOMEWORK.OUT
55
11
12345
12
53
13
34
24
Ghi chú: Có 50% số test với n≤100.
Bài 3: Con đường mòn (7 điểm)
Tên file chương trình ‘TRAIL.PAS’
Một nông trại nọ rất rộng có một con đường mòn rất dài, để cho con đường này mát mẻ người chủ nông trại
trồng n cây vừa để lấy bóng mát và vừa để sinh lợi về kinh tế, các cây được trồng dọc theo con đường (có
thể xem như trên một đường thẳng). Qua nhiều năm, các cây đó lớn lên, người chủ nông trại muốn chặt đi
một số cây và chỉ giữ lại một số cây đảm bảo nguyên tắc của ông đưa ra:
 Giả sử rằng các cây được đánh số thứ tự lần lượt từ 1 đến n (dọc theo đường mòn), cây thứ i có giá trị
kinh tế ai.
 Trong số các cây giữ lại phải đảm bảo không có cây nào có giá trị kinh tế quá tổng giá trị kinh tế 2 cây
khác.

 Số lượng cây giữ lại phải là nhiều nhất.
Yêu cầu: Hãy xác định số lượng cây được giữ lại đảm bảo nguyên tắc trên.
Dữ liệu vào từ file ‘TRAIL.INP’:
 Dòng đầu là số nguyên dương n (n≤5*105).
 n dòng tiếp theo, dòng thứ i là số nguyên dương ai (ai≤2*109; i=1,2…n).
Kết quả ghi vào file ‘TRAIL.OUT’ số lượng cây được giữ lại thỏa điều kiện trên.
Ví dụ:
TRAIL.INP
TRAIL.OUT
5
3
2
5
7
1
3
Ghi chú: Có 50% số test với n≤100.
------------- HẾT ------------

Họ và tên thí sinh: . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chữ ký giám thị số 1: . . . . . . . . . . . . . . .

Số báo danh: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Trang 2/2


SỞ GIÁO DỤC VÀ ĐÀO TẠO
TỈNH BÀ RỊA-VŨNG TÀU


ĐỀ THI TRẮC NGHIỆM
MÔN Lý thuyết Tin học chứng chỉ A

Thời gian làm bài: 30 phút; Khoá ngày 19-12-2010
(25 câu trắc nghiệm)
Mã đề thi 132

Họ, tên thí sinh:..........................................................................
Số báo danh:...............................................................................
Câu 1: Trong Windows Explorer để chọn chế độ hiển thị các thông tin về dung lượng, ngày tháng cập nhật, ta
chọn :

A. View\Details
B. View\Icons
C. View\Thumbnails D. View\List
Câu 2: Gán thuộc tính chỉ cho phép đọc đối với tập tin, ta nhấn phải chuột lên tập tin đó, chọn Properties:
A. Chọn Hidden.
B. Chọn Type.
C. Chọn Read Only.
D. Chọn Advanced.
Câu 3: Phát biểu nào dưới đây là sai:
A. Hệ điều hành phải được cài đặt trước khi cài đặt phần mềm ứng dụng.
B. Winzip là phần mềm để nén và giải nén tập tin và thư mục.
C. WinRar là một trong những hệ điều hành.
D. Bkav là phần mềm diệt virus.
Câu 4: Ổ đĩa DVD chỉ đọc được các loại đĩa :
A. Đĩa CD, VCD và đĩa DVD
B. Đĩa VCD
C. Đĩa DVD

D. Đĩa VCD và đĩa DVD
Câu 5: Trong Internet Explorer, công cụ History dùng để:
A. Liệt kê các trang Web đã duyệt trong quá khứ. B. Liệt kê các trang Web ưa thích.
C. Liệt kê số người dùng mạng Internet.
D. Liệt kê các địa chỉ mail đã dùng.
Câu 6: Trong Excel, cho biết kết quả khi nhập công thức =LEN(TRIM("EXCEL"))
A. 11
B. 13
C. 9
D. 5
Câu 7: Khi gửi thư điện tử (E-mail) muốn gởi tập tin đính kèm ta chọn mục:
A. Send File
B. To File
C. Attach File
D. Add File
Câu 8: Với dịch vụ thư điện tử (E-mail), phát biểu nào dưới đây là sai :
A. Một người có thể gửi thư cho chính mình.
B. Hai người có thể có cùng địa chỉ hộp thư giống nhau nhưng mật khẩu khác nhau.
C. Có thể gửi cùng lúc một thư cho 20 người có địa chỉ hộp thư khác nhau.
D. Tập tin đính kèm có thể nhiễm virus, cho nên cần kiểm tra trước khi sử dụng.
Câu 9: Trong MS PowerPoint muốn tạo hiệu ứng khi chuyển slide, ta chọn mục nào trong menu Slide Show:
A. Setup Show
B. Slide Transition
C. Custom Animation D. Custom Shows
Câu 10: Trong Excel, ta có thể sắp xếp dữ liệu của bảng tính theo:
A. Cột hoặc hàng.
B. Vừa cột và hàng.
C. Hàng.
D. Cột.
Câu 11: Trong Excel, công thức =RIGHT(“LEFT”,2) cho giá trị là:

A. LE
B. HT
C. RI
D. FT
Câu 12: Khi thao tác trong PowperPoint, vị trí của Slide mới được chèn vào tài liệu luôn nằm ở:
A. Slide cuối cùng.
B. Trước Slide hiện hành.
C. Sau Slide hiện hành.
D. Slide đầu tiên.
Câu 13: Trong Windows Explorer, muốn thể hiện các đối tượng có thuộc tính ẩn trong cửa sổ thư mục, ta
dùng menu:
A. ToolsFolder Option
C. View Folder

B. View Show/Hidden
D. Tools Show/Hidden

Câu 14: Trong Internet explorer muốn xóa đi các địa chỉ Web đã truy cập, ta chọn lệnh trong menu :
A. View\Explorer bar.
B. Tools\Internet options.
C. Edit\Cut.
D. File\Properties.
Câu 15: Trong Windows Explorer, lệnh Send to... có chức năng:
Trang 1/2 - Mã đề thi 132


A. Di chuyển tập tin đến một số địa chỉ đã xác định.
B. Di chuyển tập tin đến bất kỳ địa chỉ nào.
C. Sao chép tập tin đến bất kỳ địa chỉ nào.
D. Sao chép tập tin đến một số địa chỉ đã xác định.

Câu 16: Trong Windows, tên tập tin dài tối đa bao nhiêu ký tự (kể cả khoảng trống)?
A. 16 ký tự
B. 32 ký tự
C. 255 ký tự
D. 64 ký tự
Câu 17: Trong Excel, hàm COUNTA dùng để:
A. Đếm các ô có chứa giá trị số.
B. Đếm các ô có chứa giá trị.
C. Đếm các ô thỏa mãn một điều kiện nào đó.
D. Đếm các ô trống.
Câu 18: 1000 byte đúng bằng:
A. 8000 bit
B. 1KB.
C. 10KB.
D. 10000 bit
Câu 19: Khi làm việc với Excel, để chuyển nhanh con trỏ về ô cuối cùng của vùng dữ liệu, ta bấm tổ hợp
phím:

A. Ctrl-End
B. Ctrl – Shift – End
C. Ctrl – Home
D. Shift – Home
Câu 20: Khi thao tác trong PowperPoint, muốn trình chiếu Slide hiện hành ta dùng tổ hợp phím:
A. CTRL+F5.
B. Alt+F5.
C. F5.
D. Shift+F5.
Câu 21: Trong các đơn vị lưu trữ thông tin sau, đơn vị bé nhất là ?
A. GB
B. Byte

C. TB
D. MB
Câu 22: Trong MS-Excel, để xoá một hàng và dồn dữ liệu hàng dưới lên, ta chọn hàng cần xóa và lệnh sau:
A. Edit  Clear..., All B. Edit  Fill
C. Edit  Cut
D. Edit Delete
Câu 23: Khi tìm kiếm tập tin người ta dùng dấu ? để thay thế cho:
A. Nhiều ký tự bất kỳ. B. 1 ký tự chữ hoa.
C. 1 ký tự số.
D. 1 ký tự bất kỳ.
Câu 24: Trong Word, để hiển thị hoặc ẩn thanh thước (Ruler) trên giao diện làm việc ta chọn :
A. Format/Ruler
B. Window/Ruler
C. View/Ruler
D. Edit/Ruler
Câu 25: Trong Excel, khi viết sai tên hàm trong công thức tính toán, chương trình thông báo lỗi:
A. #VALUE!
B. #NAME!
C. #FOMULA!
D. #N/A!
-----------------------------------------------

----------- HẾT ----------

Trang 2/2 - Mã đề thi 132


ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG PHỔ THÔNG NĂNG KHIẾU


ĐỀ THI TUYỂN SINH NĂM 2001
Môn thi : Tin Học Chuyên
Thời gian làm bài:150 phút (không sử dụng tài liệu)

Bài 1: Tứ giác (3đ)

Cho một tứ giác không tự cắt ABCD và một điểm P trên mặt phẳng. Biết
tọa độ các điểm, hãy cho biết vò trí tương đối của P so với ABCD.
Tọa độ của A,B,C,D và P được thu nhập vào từ bàn phím theo đúng trình tự
và có giá trò nguyên trong khoảng [-10000,10000].Hãy xuất ra màn hình thông báo
tương ứng.

Bài 2: Chia hết cho P (3đ)

Cho một số tự nhiên X có N chữ số (0(1Dữ liệu cho trong file văn bản có tên CHIAHET.INP có nội dung như sau:
ƒ Dòng đầu chứa số P (1ƒ Dòng tiếp theo chứa số X.
Kết quả xuất ra màn hình với một trong hai câu thông báo “CHIAHET” hoặc
“KHONGCHIAHET”.

Bài 3: Chia phần thưởng (4đ)
Vào dòp tổng kết cuối năm học 2000-2001, trường Phổ Thông Năng Khiếu
có N học sinh được xếp loại xuất sắc. Để động viên các em học sinh này,Hội phụ
huynh học sinh đã quyết đònh xin N đơn vò tài trợ, mỗi đơn vò tài trợ một số vở loại
tốt để làm phần thưởng cho các em. Rất may các đơn vò đều đáp ứng lời kêu gọi
tài trợ một cách sốt sắng. Mỗi đơn vò đã gửi đến nhà trường một gói quà, có ghi
tên ngoài số vở mà mình tặng cho trường. Để tiện việc quản lý, nhà trường đã
quyết đònh gói quà nào đã mở ra thì sẽ dùng toàn bộ số vở trong đó làm quà tặng

cho các học sinh và mỗi học sinh đều phải nhận được phần thưởng như nhau.
Giả sử các đơn vò lần lượt cho X1,X2,…...,Xn quyển vở. Hãy giúp nhà trường
chọn ra M gói quà để phát thưởng cho các các học sinh hoặc cho biết không thể
chia đều được như mong muốn của nhà trường.
1. Hãy chỉ ra cách giải bất kỳ.
2. Hãy chỉ ra lời giải với M nhỏ nhất.
Dữ liệu cho trong file văn bản có tên CHIAQUA.INP có nội dung như sau :
ƒ Dòng đầu chứa số N (1ƒ Các dòng tiếp theo chứa N số nguyên dương X1,X2,……,Xn.
ƒ Các số trên cùng một dòng cách nhau bởi khoảng trắng.
Kết quả xuất ra file văn bản có tên CHIAQUA.OUT có nội dung như sau :
ƒ Dòng đầu chứa câu “CO LOI GIAI” hoặc “KHONG CO LOI GIAI”
ƒ Trong trường hợp không có lời giải thì file không chứa gì thêm
ƒ Nếu có lời giải thì dòng kế tiếp sẽ gồm :
1. Dòng đầu chứa dòng văn bản: “Cau 1:”
2. Dòng tiếp theo chứa số M1 cho biết cần mở gói quà (ứng với câu 1)


3. Tiếp theo là dòng chứa M1 số cho biết chỉ số của các gói quà cần
mở.
4. Tiếp theo là dòng chứa chuỗi kí tự: “Cau 2:”
5. Dòng tiếp theo chứa số M2 cho biết chỉ số của các gói quà cần mở.

Ví dụ:
CHIAQUA.INP
5
13173

CHIAQUA.OUT
CO LOI GIAI

CAU 1:
5
12345
CAU 2:
2
24

Hạn chế kó thuật :
1. Tên các file chương trình lần lượt là BL1.PAS,BL2.PASvà BL3.PAS
2. Dữ liệu vào là đúng đắn. Học sinh không cần kiểm tra.


Họ và tên thí sinh:……………………..…………..

Chữ ký giám thị 1:

Số báo danh:……………………………..………...

…………….………………..

SỞ GD-ĐT BẠC LIÊU

KỲ THI CHỌN HSG LỚP 12 CẤP TỈNH
NĂM HỌC 2014 - 2015

ĐỀ CHÍNH THỨC

* Môn thi: TIN HỌC
* Ngày thi: 19/10/2014
* Thời gian: 180 phút (Không kể thời gian giao đề)


(Gồm 02 trang)

ĐỀ
Câu 1: (6 điểm) Dãy con chia hết
Ta gọi dãy a1, a2, . . . , an là chia hết hoàn toàn nếu aj chia hết cho ai với i < j. Một dãy
con của một dãy là một dãy được thiết lập bằng cách xoá một số phần tử nào đó trong
dãy.
Ví dụ:
+ Dãy 3, 7, 11, 3 là một dãy con của dãy 6, 3, 11, 5, 7, 4, 3, 11, 5, 3 nhưng 3, 3,
7 không phải là dãy con của dãy 6, 3, 11, 5, 7, 4, 3, 11, 5, 3.
+ Dãy 2, 8, 320 là một dãy con chia hết hoàn toàn của dãy 2, 3, 7, 8, 11, 39,
145, 76, 320.
Yêu cầu: Cho một dãy các số nguyên, tìm dãy con chia hết hoàn toàn có độ dài
lớn nhất trong dãy đã cho.
Dữ liệu vào: Cho trong file ‘day.inp’ gồm:
-

Dòng đầu chứa N là độ dài của dãy.

-

Dòng thứ 2 chứa N số nguyên ai , mỗi số cách nhau một dấu cách.

Dữ liệu ra: Ghi vào file ‘day.out’ gồm:
-

Chứa độ dài lớn nhất của dãy con chia hết hoàn toàn tìm được.

(Giới hạn: N<=100, -32000 <= ai <= 32000)

Ví dụ:
DAY.INP

DAY.OUT

9

3

2 3 7 8 11 39 145 76 320
Câu 2: (7 điểm) Xâu dài nhất
Cho xâu gồm các ký tự lấy từ tập 'a'..'z' và dấu cách. Viết chương trình xác định
dòng có nhiều ký tự nhất trong một tập tin văn bản.
Dữ liệu vào: Cho file văn bản MAXSTR.INP
- Gồm các dòng kí tự, số dòng không quá 50 dòng, mỗi dòng không quá 255 ký
tự, giữa các từ ngăn cách nhau một dấu cách.
1


Kết quả ra: Ghi vào file văn bản MAXSTR.OUT nội dung dòng dài nhất. Nếu
có nhiều dòng cùng độ dài lớn nhất thì đưa ra dòng đầu tiên có độ dài lớn nhất.
Ví dụ:
MAXSTR.INP

MAXSTR.OUT

toi

ban lan


ban lan
ban nam
ban an
Câu 3: (7 điểm) Tặng quà
Để khen thưởng cho các học sinh có thành tích tốt trong dịp 20-11, các nhà
mạnh thường quân tổ chức trao quà cho các em bằng hình thức cho các em tự chọn các
món quà trong n (n<=100) món quà với yêu cầu là không vượt quá trọng lượng W qui
định của ban tổ chức. Bạn nào cũng muốn nhận được nhiều món quà có giá trị nhất
nhưng không biết phải lựa chọn thế nào?
Yêu cầu: Bạn hãy lập trình giúp các bạn học sinh chọn được nhiều món quà có
tổng giá trị là lớn nhất nhưng không vượt quá trọng lượng qui định của ban tổ chức.
Dữ liệu vào: Cho trong file ‘qua.inp’ có cấu trúc như sau:
-

Dòng đầu ghi 2 số: n và W (n: tổng số món quà, W: giới hạn trọng lượng cho
phép).

-

n dòng tiếp theo: mỗi dòng ghi 2 số Wi và Vi (Wi: trọng lượng vật, Vi: giá trị vật).

Mỗi số cách nhau ít nhất 1 dấu cách.
Dữ liệu ra: Ghi vào file ‘qua.out’ có cấu trúc sau:
-

Dòng đầu: số W.

-

Dòng tiếp theo: mỗi dòng 3 số: I, Wi, Vi (số thứ tự, trọng lượng, giá trị) của món

hàng được chọn.

Mỗi số cách nhau ít nhất 1 dấu cách.
Ví dụ:
QUA.INP

QUA.OUT

5 56

56

2 20

1

16 80

2 16 80

26 56

3 26 56

2 20

42 15
23 45
--- HẾT --2



BỘ GIÁO DỤC VÀ ĐÀO TẠO

KỲ THI CHỌN HỌC SINH GIỎI QUỐC GIA
LỚP 12 THPT NĂM 2011
HƯỚNG DẪN CHẤM ĐỀ THI CHÍNH THỨC
Môn: TIN HỌC
Ngày thi thứ nhất: 11/01/2011
(Gồm 01 trang)

TỔNG QUAN NGÀY THI THỨ NHẤT
Tên bài

File chương trình

File dữ liệu vào

File kết quả

Bài 1

Phần thưởng

BONUS.*

BONUS.INP

BONUS.OUT

Bài 2


Hình chữ nhật bốn màu

COLOREC.*

COLOREC.INP

COLOREC.OUT

Bài 3

Hàng cây

TREELINE.*

TREELINE.INP

TREELINE.OUT

Bài 1. Phần thưởng (6 điểm)


Có 50% số tests ứng với 50% số điểm của bài có n ≤ 100.



Thuật toán phát triển dựa trên duyệt vét cạn với thời gian tính O(n2 k2) có thể đạt 50% tổng điểm.




Thuật toán phát triển dựa trên duyệt vét cạn có tổ chức tính toán kế thừa với thời gian tính
O(n2) có thể đạt 100% tổng điểm.



Giới hạn thời gian: 1 giây.

Bài 2. Hình chữ nhật bốn màu (7 điểm)


Có 50% số tests ứng với 50% số điểm của bài có 4 ≤ n ≤ 100.



Thuật toán tầm thường dựa trên duyệt vét cạn với thời gian tính O(n4) có thể đạt 50% số
điểm của bài.



Thuật toán dựa trên duyệt theo toạ độ với tổ chức dữ liệu với thời gian tính O(Δ3), trong đó
Δ = max {|x1|, ..., |xn|, |y1|, ..., |yn|) có thể đạt 100% số điểm của bài.



Giới hạn thời gian: 1 giây.

Bài 3. Hàng cây (7 điểm)


Có 50% số tests ứng với 50% số điểm của bài có 2 ≤ n ≤ 15.




Thuật toán duyệt vét cạn các hoán vị với thời gian tính O(n!) có thể đạt 50% số điểm.



Thuật toán quy hoạch động kết hợp với tổ chức dữ liệu với thời gian tính O(n log n) có thể đạt 100%
số điểm.



Trong mỗi test có 2 câu hỏi, mỗi câu hỏi trả lời đúng được 50% số điểm của test.



Giới hạn thời gian: 1 giây.
--------------------------- Hết ---------------------------

Trang 1/1


×