SO GIAO DUC VADAO TAO KY THILAP BOL TUYEN DY’ THI QUOC GIA
DAK LAK NAM HOG 2016 - 2017
pé CHINH THUC MON: TIN HQC 12-THPT(VONG 1) |
(é thi gém 02 trang) (Thai gian lam bai 180 phuit, khong ké giao dé)
Bai File bai [am Dirligu vao Két qui
Bail — Tinh ting BAIL* BAILINP BAILOUT
Bai 2— Bang so BAI2.® BAI2.INP BAI2.OUT
Bai 3— Tuyén dudng BAL.* BAIB.INP BAI3.0UT
Dau * deve thay thé boi PAS hoge CPP cia ngén ngit ldp trinh duge sir dung teong ting la PASCAL
hoge C™.
Bai 1 (6 diém) - Tinh tong
Cho day s6 nguyén a),
lién tiép (a), ajs),..., a} (ISK) goi
téng tat cd cdc sé hang cua nd.
Tim gid trj lin nhat trong sé céc ting cita cde doan con tir day s6 da cho.
Dir ligu vio tir file BAI.INP gom:
~ Dang dau chtta s6 N.
- Ding thit i trong N dong tigp theo chita sé a;,
Két qua ghi vao file BAILOUT gia tri lon nhat trong s6
Vi du:
< 10°, N< 10°). Mét tip hgp khde rng cae sé hang
1 doan con cia day s6. Véi mdi dogn con ta tinh
ic tang ciia cée doan con.
BAIL.INP BAILOUT.
3
Bai 2 (7 diém) - Bang sd
Tro choi sau day do Hirofumi Fujiwara dé xuat: Trong mét luéi 6 vudng kich thude 9 x 9
can dién cac sé tir 1 dén 9 sao cho trong méi ding, mdi cét va méi ludi 6 vung con kich
thude 3x 3 déu cé tat ca cdc sé tir 1 dén 9 (luéi 6 vudng duge chia thanh 9 ludi 6 vudng ke
nhau méi lui 6 vuéng cé kich thude 3 x 3).
Yéu cdu: Cho trréc mét héi 6 vudng kich thie 9 x 9, trong dé c6 mot sé 6 da duge
didn sd, can xdc dinh cé thé dién tigp cdc sé vao cdc 6 con lai dé thu duge bang sé ding
ludt cia trd choi hay khong?
Dir ligu vao tir file
dé chi 6 chua duge
Két qua ghi vio file BAI2.OUT bang sé tim duge gdm 9 dong, mdi dong 9 ky tu sé
hoc théng bao "That bai’ néu khong tim duge lai gidi
Vidu
INP gdm 9 dong mé ta bang s6, mdi dong gém 9 ky ty, ky tyr
BAI.INP BAI2.OUT
Ee 185742936
374..6.2. 374916528
28.1 692358714
258, 258493167
” 439671852
493 716285493,
- 543167289
921834675
867529341
Trang 1/2lanh dao ciia tinh A dau tw xay dung N dja diém du lich
duge danh s6 tir 1 dén N va cae tuyén duimg di gitta cde dia diém d6. Lanh dao tinh A
chon ra 4 dia diém du lich dac biét dé lam trung tam dau tw phat tién va 4 dja diém nay
phai lién théng voi nhau. Lanh dao tinh muén xay dung cdc tuyén during di sao cho céc
dja diém du lich lign théng véi nhau v6i chi phi it nha
Yéu edu: Ban hay viét chuong trinh dé chon mot s6 tuyén duromg di can xy dung nhdim
dim bio cae dja diém du lich lién thong véi nhau sao cho ehi phi st mht.
Dir ligu vao tir file BAI3.INP gom:
~ Dang diu chia s6 nguyén duvong N.
= Dong thir hai ghi 4 s6 nguyén 14 s6 higu ciia 4 dia dim du lich dic biét, ki higu tir 1
dén 4
- Cae dong tiép theo, mdi dong ghi 3 sé nguyén u, v va c véi ¥ nghia mudn xay dung
mot tuyén dudng hai chiéu néi tryc tip gitta hai dja diém du lich u va v v6i chi phi la c.
Két qua ghi vao file BAI3.0UT gdm: .
- Dong dau ghi tng chi phi nho nhat dé xy dung ede tuyén durong.
- Céc dong tigp theo, mdi dong ghi 2 s6 nguyén u va v véi ¥ nghia cin xay dung tuyén
dudng hai chiéu néi gitta hai dja diém du lich u va v.
Vi du:
_BAI3.INP BAB.OUT
3 5
2341 14
1210 15
151 52
521 23
141
433
322
~ HET ~
‘Thi sinh khong duge sir dung tai ligu. Giam thi khéng giai thich gi thém.
Ho va tén. --86 bio danh:...
Trang 2/2SO GIAO DUC & DAO TAO DAK LAK ~—_- KY THI CHON DOI TUYEN HOC SINH GIOI TINH
pAP AN VA HUONG DAN CHAM VONG 1
I. Phan chwong trinh nguén
BAI 1: (6a)
const nmax = 100000;
var n:longint; i:byte;
ay[0..nmax] of int64;
kq:into4;
procedure nhapdulieu;
var Etext;
i,a:longint;
begin
"BAILINP');
readin(f.n);
for i= 1 to ndo
begin
readln(fa);
sfi}:=s[i-1}+a;
end;
close();
end;
procedure xuly;
var ij:longint;
max:int64;
Ftext;
begin
if kqmax then max:=sfi];
end;
assign(f,'BAI.OUT");
rewrite({);
writeln(fkq)s
close(t);
end;
begin
nhapduliew;
.D+,E+,F-,G-,I+,L+,N+,0-,P-QR-S4T-,V+X+}
{SM 65000,0,655360}
NAM HQC 2016-2017
MON : TIN HQC 12-THPT
‘Trang 1/8uses crt;
{const
tf = 'BAIZINP,
to = 'BAI2.OUT}
var
fifo text,
x : array[1..9,1..9] of byte;
Good : boolean;
sol : array(1..9,1..9] of integer;
en : array[1..9,1..9,1..9] of byte;
procedure Docdl;
var ij: integer;
ch: char;
begin
fillchar(x,sizeof{x),0);
for i=] to 9 do
begin
for j-=1 t0 9 do
begin
read(fi,ch);
if cho", then x{i,j]:“ord(ch)-48;
end;
readln(fi);
end;
end;
procedure Dat(i,j,k: integer; var ok: boolean);
var wy, id,ie,jd,je: integer;
begin
ok:=false;
for u:=1 to 9 do
begin
if (uci) and (x[u]-) then exit;
if cnfu,j,k]=0 then
begin
solfu,j}:=solfu,j]-1;
cn[u,j,k]:=100;
if (x[u,j]=0) and (sol[u,jJ=0) then exit;
end;
end;
for v:=1 to 9 do
begin
if (vj) and (x[i,v]k) then exit;
if enfi,v.K]-0 then
begin
solfi,v}
enfi,v,k]=
if iw
end;
) and (solfi,v}=0) then exit;
end;
Trang 2/8,jd:=G-1) div 3°341; jer=jd+2;
for u:=id to ic do
for vi=jd to je do
begin
if (Ui) oF (vj) and (x{u,v]HK) then exit;
if enfu,v,k]=0 then
begin
solfu,v]:=solfu,v]-1;
cen{u,v,k]:=100;
if (x{u,v]=0) and (sol{u,v]=0) then exit;
end;
end;
procedure Chuanbi;
var i,j,k: integer;
ok: boolean;
begin
Good:=false;
for i:=1 to 9 do
for j=1 to 9 do solfi,
fillchar(cn,sizeof(en),0);
for i:=1 to 9 do
forj=1 to 9 do
ifx[ij)>0 then
begin
ke=x[iils
Dat(ij.k.ok);
iff not ok then exit;
end;
procedure Thu(u,y:
var k,i,j,ud,ue,vd,
tiep: boolean;
begin
if u-10 then
begin
Good:=true;
exit;
end;
Trang 3/8if
0 then
begin
Thu(u+l,1);
exit;
end;
if x(u,v>0 then
begin
Thu(u,v+1);
exit;
end;
fork:=1 t0 9.do
if enfu,v.k]=0 then
begin
xfusv:=k;
(* Dat trang thai *)
tiep:=true;
1t09do
=0) and (enfi,v,k]=0) then
solfi,v}:=solfi.v]-1;
iep=(solfiv}>0);
for j
if (x{uj]0) and (en[u,j,k]=0) then
begin
enfu,ik!
sol{u,j]:=sol[u,j]-1;
tiep=(sol[u,j}>0);
end;
fuel) div 3®3+1; uez=ud+2;
vd:=(v-l) div 3#341; ver=vd+2;
for j=v+l to ve do
if (x[ug]0) and (en{u,j,k]-0) then
begin
=(u-l)*9+y;,
for i=uH to ue do
for j:=vd to ve do
if (X[ij]=0) and (enfijj,k]=0) then
begin
en[i,i.k]:=(u-1)*9+V;
solfigj}:=solfij)-1;
tiep:=sol|ij]>0;
end;
(* thu tiep *)
if Tiep then Thu(u,v+1);
if Good then exit;
(* Quay lui *)
Trang 4/8+1 to 9 do
‘enfi,y,k]J=(u-1)*9+v then
begin
for:
if enfu,j.kJ=(u-1)*9+v then
begin
enfu.k
solfu,j]
end;
for j:=v+1 to ve do
if enfuj,kJ=(u-1)*9+v then
begin
en{u,k]:-0;
solfuj]:=solfuj}+1;
end;
for i:=u+l to ue do
for j:=vd to ve do
if enfij,k]=(u-1)*9+v then
begin
end;
end;
procedure Duyet;
begin
if not Good then exit;
Good:=false;
Thu(1.1);
end;
procedure Inkq;
var i,j integer;
begin
if not Good then
begin
writeln(fo,"That bai’);
exit;
end;
fori:
begin
for j=1 to 9 do write(fo,x{i));
writeln(fo);
end;
end;
to 9do
BEGIN
assign(fi,BAI2.INP’); reset(fi);
Trang 5/8assign(fo,'BAI2.0UT)); rewrite(fo);
Doedl;
Chuanbis
Duyet;
Inkq;
close(fi); close(fo);
END.
BAI 3: (74)
const
maxN = 101;
Unseen: longint = 600000;
H: array(1.6,1.4] of integer = ((1,2,3.4),
(13,24),
(1.4.2.3),
23,14),
(2.4.1.3),
G,4,1,2));
type
mang] =array[1_.maxN,|..maxN] of longint;
‘mang2=array[1..maxN, l..maxN] of integer;
var
fi, fo: texts
N: integer;
1: array[1..4] of integer;
a: mangl;
Tr: mang;
longint;
slx: integer;
x: array[1.2,L..maxN] of integer;
procedure Nhap;
var i,ju,v,c: integer;
begin
assign({i,'BAI3.INP’); reset(fi);
readln(fi.N);
readln(fixt(1],t(2}[3] {4D};
for i:=1 tondo
for j:=1 to n do afi,j]:=Unseen;
while not seekeof{fi) do
begin
readln(fi,uyv.c);
close(fi);
end;
procedure Floy;
var k,i,j: integer;
begin
fillchar(Tr,sizeof(tr),0);
for k:=1 ton do
Trang 6/8procedure Tim(u,v: integer);
begin
if Tr{u,v]=0 then
begin
inc(slx);
x[I,shx}:=u)
x[2slx}=v;
exit;
end;
Tim(u,Tr[u,v]);
Tim(Tr[uy],v);
end;
procedure GhiNhan(i,,k: integer);
iSe{Hfk,1]] then TimG.t(H[k,1])s
if ict{H[.2]] then TimGi,t(H[k,2]));
ifi>j then Tim(ij);
if }j-a{H[k,3]] then TimG,t[H[k,3]);
if jtfH[k,4] then TimG.t[H[k,4]));
end;
procedure Solve;
var ik: integer;
‘Tong: longint;
begin
Min:=Unseen;
for i=1 ton do
for j:=1 ton do
if (afi j] max then max := cs;
end;
t:st+time;
end;
end;
procedure print;
var
i: longint;
kq: real;
begin
assign(f, fo); rewrite(f);
Trang 4/5while (kq < m) and (i < max) do
begin
ine(i);
writeln(f, 0);
close(f);
end;
begin
‘open_file;
solve;
print;
end
IL. Hw6ng din chim.
Bai 1: 5 Test, mdi test ding cho 2 diem
Bai 2: 5 Test, mdi test ding cho 2 diem
Chi y: Két qua c6 thé c6 nhiéu phwong an khac nhau do dé yéu cu giém khao xem xét
ky khi cham bai.
Trang 5/5