Professional Documents
Culture Documents
Thu Sai
Thu Sai
c chn ra t tp hu hn
. Tu vo mc ch bi ton, c th
phi tm mt nghim, tm tt c nghim hoc m s nghim.
Mt suy ngh rt t nhin gii quyt bi ton l: ln lt lit k c cc kh nng
ca nghim (theo dng vector), vi mi kh nng tin hnh kim tra kh nng c
l nghim khng? (c tha mn cc yu cu ca bi ton hay khng?) Hng gii
quyt nh vy ta gi l th sai.
V d: Cho dy s nguyn
(|
) v mt s nguyn (
c s phn t ln hn 3
v tng cc phn t bng .
2) Chn ba phn t trong dy m tch ba phn t l ln nht.
3) Lit k tt c cc cch chn mt tp gm cc s trong dy tng cc s
trong tp c chn bng .
Phn tch v d:
1) Vector nghim ca bi ton ny l (
), trong
, -)
l hai ch s ca dy
. Ta c th th tt c cc dy con c di
ln hn 3 bng cch th tt c cc b (
) vi
), trong
, -) l ba ch s ca dy
. Ta c th th
tt c cc b ba ch s
vi
chn ba phn
t c ln nht.
3) Vector nghim ca bi ton ny l (
), trong
,-,
nu phn t th
c chn vo tp. Ta c th th tt c cc dy
vi
,-,
kim tra xem
.
Kt qu: Ghi ra file vn bn MATKHAU.OUT mt s nguyn l s lng cp ch
s ( ) tnh c.
V d:
MATKHAU.INP MATKHAU.OUT MATKHAU.INP MATKHAU.OUT
abc3456789PQ 6 abc123 0
3.1.1. Li gii (
)
Xc nh vector nghim: (
) trong
() tng ng l
cp ch s ( ).
Xc nh rng buc: Trong xu , t v tr
n v tr
.
lit k tt c cc kh nng ta c th s dng hai vng lp lng nhau, c th th
tc lit k nh sau:
procedure try;
var x1, x2, n :longint;
begin
n:=length(S);
count:=0;
for x1:=1 to n do
for x2:=1 to n do
if isOK(x1,x2) then count:=count+1;
end;
Trong th tc trn, bin S l bin ton cc, lu xu S d liu vo; bin count l bin
ton cc dng m s lng cp tha mn; hm isOK(x1,x2) nhn hai tham s
u vo l hai ch s ca xu S c nhim v kim tra rng buc, tr v TRUE nu
tha mn rng buc, FALSE trong trng hp ngc li. Trong hm ny ta s phi
kim tra cc iu kin sau:
1)
;
2) T v tr
n v tr
ca xu S c k t thuc [A..Z]
3) T v tr
n v tr
ca xu S c k t thuc [a..z]
4) T v tr
n v tr
ca xu S c k t thuc [0..9]
Hm isOK(x1,x2) c th nh sau:
function isOK(x1,x2:longint):boolean;
begin
isOK:= (x2-x1>=5)
and(checkHAZ(x1,x2))
and(checkLaz(x1,x2))
and(check09(x1,x2));
end;
Trong hm checkHAZ(x1,x2) kim tra iu kin th 2 (t v tr
n v tr
. phc tp ca
thut ton: S trng hp phi th (
).
Chng trnh trn bin S thuc kiu d liu ansistring (kiu xu k t cho php
di ln hn 255) v di xu vo ln ti 10
6
, bin count thuc kiu int64 (min
gi tr -2
63
n 2
63
-1) v s lng c th vt qu kiu longint khi di xu ln ti
10
6
. Kiu ansistring v int64 l hai kiu d liu c trong freepascal.
3.1.2. Li gii (
)
phc tp ca li gii trn l (
) vi l di xu S. gim phc tp
th phi gim s trng hp phi th hoc gim chi ph phn kim tra. D nhn
thy c th gim chi ph kim tra theo nhn xt sau: vic kim tra (
) c th
kim tra nhanh trong () khi kim tra (
). Nh vy phc tp thut
ton ch cn (
).
3.1.3. Li gii ()
Ta c th gim s trng hp phi th t (
) tha mn th (
ta xc nh
nh nht (
) tha mn th
- u tha mn, c
v tr tha mn cho
. Nh vy ch cn th
, s lng
tha mn
(tng ng vi
) d dng tnh c.
Vi
cch xc nh
nh sau:
+ trong
l v tr nh nht ln hn
m t
l v tr nh nht ln hn
m t
c xut
hin k t thuc [a..z],
l v tr nh nht ln hn
m t
c
xut hin k t thuc [0..9]. Vic xc nh
c th xc nh bng
cch chun b trc. Di y l chng trnh hon chnh.
const MAX =1000000;
fi ='MATKHAU.INP';
fo ='MATKHAU.OUT';
var next :array[1..MAX,'1'..'3']of longint;
s :ansistring;
n :longint;
count :int64;
procedure readFile;
var f :text;
i :longint;
c :char;
begin
assign(f,fi); reset(f);
readln(f,s);
n:=length(s);
close(f);
for i:=1 to length(s) do
if (s[i]>='0') and (s[i]<='9') then s[i]:='1'
else if (s[i]>='a')and(s[i]<='z') then s[i]:='2'
else s[i]:='3';
for c:='1' to '3' do next[n,c]:=n+1;
next[n,s[n]]:=n;
for i:=n-1 downto 1 do
begin
for c:='1' to '3' do next[i,c]:=next[i+1,c];
next[i,s[i]]:=i;
end;
end;
procedure try;
var i,j :longint;
c :char;
begin
count:=0;
for i:=1 to n-5 do begin
j:=i+5;
for c:='1' to '3' do
if next[i,c]>j then j:=next[i,c];
if (j<=n) then
count:=count + (n-j+1)
end;
end;
procedure writeResult;
var f :text;
begin
assign(f,fo); rewrite(f);
writeln(f,count);
close(f);
end;
BEGIN
readFile;
try;
writeResult;
END.
3.2. Bi ton DY DN
Cho on dy in (
). on dy th c di
cm (
.
Kt qu: a ra file vn bn WIRES.OUT, kt qu trn mt dng di dng s
nguyn.
V d:
WIRES.INP WIRES.OUT
4 11
802
743
547
539
200
3.2.1. Li gii ()
Ta th ln lt di cn tm (
khng?
const MAX =100000;
fi ='wires.inp';
fo ='wires.out';
var n,k,res :longint;
l :array[1..MAX]of longint;
procedure readFile;
var f :text;
i :longint;
begin
assign(f,fi); reset(f);
readln(f,n,k);
for i:=1 to n do readln(f,l[i]);
close(f);
end;
function isOK(x1:longint):boolean;
var i, count : longint;
begin
count:=0;
for i:=1 to n do
count:=count + l[i] div x1;
isOK:=count>=k;
end;
procedure try;
var i,x1,lmax : longint;
sum : int64;
begin
sum:=0;
for i:=1 to n do sum:=sum+l[i];
lmax:=sum div k;
res:=0;
for x1:=1 to lmax do
if isOK(x1) then res:=x1;
end;
procedure writeResult;
var f :text;
begin
assign(f,fo); rewrite(f);
writeln(f,res);
close(f);
end;
BEGIN
readFile;
try;
writeResult;
END.
Trong chng trnh trn, hm isOK s kim tra xem vi di
c th c cch
ct c thnh on hay khng? Chi ph kim tra l ()
S lng th
ph thuc vo di ca cc on dy m di cc on dy c
th ln ti 10
9
.
3.2.2. Li gii ()
Ta c nhn xt sau: nu di
c th ct c thnh on th ng nhin ta
c th ct c thnh on c di
), trong
, tc l
c chn t tp
* +. Vector (
) l nghim nu
v hai (
) (
)
khng nm trn cng mt ng cho. V d: (1,5,8,6,3,7,2,4) l mt nghim.
4.1. Quay lui vt cn
T tng ca phng php quay lui vt cn nh sau: Ta xy dng vector
nghim dn tng bc, bt u t vector khng ( ). Thnh phn u tin
c
chn ra t tp
th t
cc iu kin ca bi ton ta xc nh c tp
l tp con ca
). Chn mt phn t
ta m rng nghim
c
cho
ta quay li chn mt
phn t khc ca
lm
).
- Xc nh tp
.
- Tm cc iu kin mt vector chn l nghim ca bi ton.
4.2. Mt s v d p dng
4.2.1. T hp
Mt t hp chp k ca n l mt tp con k phn t ca tp n phn t.
Chng hn tp {1,2,3,4} c cc t hp chp 2 l:
{1,2}, {1,3, {1,4, {2,3}, {2,4}, {3,4}
V trong tp hp cc phn t khng phn bit th t nn tp {1,2} cng l tp
{2,1}, do , ta coi chng ch l mt t hp.
Bi ton: Hy xc nh tt c cc t hp chp k ca tp n phn t. n gin ta
ch xt bi ton tm cc t hp ca tp cc s nguyn t 1 n n. i vi mt tp
hu hn bt k, bng cch nh s th t ca cc phn t, ta cng a c v bi
ton i vi tp cc s nguyn t 1 n n.
Nghim ca bi ton tm cc t hp chp k ca n phn t phi tho mn cc iu
kin sau:
- L mt vector (
)
-
ly gi tr trong tp * +
- Rng buc:
vi mi gi tr i t n (v tp hp khng phn
bit th t phn t nn ta sp xp cc phn t theo th t tng dn).
Ta c: 1
, do tp
(tp cc ng c vin c
chn lm thnh phn th i) l t
n ( ). iu ny ng
cho c trng hp , ta thm vo
.
Sau y l chng trnh hon chnh, chng trnh s dng m hnh quy sinh
tt c cc t hp chp ca .
program ToHop;
const MAX =20;
type vector =array[0..MAX]of integer;
var x :vector;
n,k :integer;
procedure GhiNghiem(x:vector);
var i :integer;
begin
for i:=1 to k do write(x[i],' ');
writeln;
end;
procedure ToHop(i:integer);
var j:integer;
begin
for j := x[i-1]+1 to n-k+i do begin
x[i] := j;
if i=k then GhiNghiem(x)
else ToHop(i+1);
end;
end;
BEGIN
write(Nhap n, k:); readln(n,k);
x[0]:=0;
ToHop(1);
END.
V d v Input / Output ca chng trnh:
n = 4, k=2
1. 1 2
2. 1 3
3. 1 4
4. 2 3
5. 2 4
6. 3 4
Theo cng thc, s lng t hp chp k=2 ca n=4 l:
( ) ( )
( )
4.2.2. Chnh hp lp
Chnh hp lp chp k ca n l mt dy k thnh phn, mi thnh phn l mt phn
t ca tp n phn t, c xt n th t v khng yu cu cc thnh phn khc nhau.
Mt v d d thy nht ca chnh hp lp l cc dy nh phn. Mt dy nh phn
di m l mt chnh hp lp chp m ca tp 2 phn t {0,1}. Cc dy nh phn
di 3:
000, 001, 010, 011, 100, 101, 110, 111.
V c xt th t nn dy 101 v dy 011 l 2 dy khc nhau.
Nh vy, bi ton xc nh tt c cc chnh hp lp chp k ca tp n phn t yu
cu tm cc nghim nh sau:
- L mt vector (
)
-
ly gi tr trong tp * +
- Khng c rng buc no gia cc thnh phn.
Ch l cng nh bi ton tm t hp, ta ch xt i vi tp n s nguyn t 1 n n.
Nu phi tm chnh hp khng phi l tp cc s nguyn t 1 n n th ta c th
nh s cc phn t ca tp a v tp cc s nguyn t 1 n n.
{s dng mt mng x[1..n] biu din chnh hp lp.
Th tc quy sau sinh tt c chnh hp lp chp k
ca n}
procedure ChinhHopLap(i:integer);
var j:integer;
begin
for j := 1 to n do begin
x[i] := j;
if i=k then GhiNghiem(x)
else ChinhHopLap(i+1);
end;
end;
V d v Input / Output ca chng trnh:
n = 2, k=3 1. 1 1 1
2. 1 1 2
3. 1 2 1
4. 1 2 2
5. 2 1 1
6. 2 1 2
7. 2 2 1
8. 2 2 2
Theo cng thc, s lng chnh hp lp chp k=3 ca n=2 l:
4.2.3. Chnh hp khng lp
Khc vi chnh hp lp l cc thnh phn c php lp li (tc l c th ging
nhau), chnh hp khng lp chp k ca tp n (kn) phn t cng l mt dy k thnh
phn ly t tp n phn t c xt th t nhng cc thnh phn khng c php
ging nhau.
V d: C n ngi, mt cch chn ra k ngi xp thnh mt hng l mt chnh
hp khng lp chp k ca n.
Mt trng hp c bit ca chnh hp khng lp l hon v. Hon v ca
mt tp n phn t l mt chnh hp khng lp chp n ca n. Ni mt cch trc quan
th hon v ca tp n phn t l php thay i v tr ca cc phn t (do mi gi
l hon v).
Nghim ca bi ton tm cc chnh hp khng lp chp k ca tp n s
nguyn t 1 n n l cc vector tho mn cc iu kin:
- c k thnh phn: (
)
-
ly gi tr trong tp * +
- Rng buc: cc gi tr
i mt khc nhau, tc l
vi mi .
Sau y l chng trnh hon chnh, chng trnh s dng m hnh quy sinh
tt c cc chnh hp khng lp chp ca phn t.
program ChinhHopKhongLap;
const MAX =20;
type vector =array[0..MAX]of integer;
var x :vector;
d :array[1..MAX]of integer; { mng d
kim sot rng buc cc gi tr
i mt khc nhau,
vi mi }
n,k :integer;
procedure GhiNghiem(x:vector);
var i :integer;
begin
for i:=1 to k do write(x[i],' ');
writeln;
end;
procedure ChinhHopKhongLap(i:integer);
var j:integer;
begin
for j := 1 to n do
if d[j]=0 then begin
x[i] := j;
d[j] := 1;
if i=k then GhiNghiem(x)
else ChinhHopKhongLap(i+1);
d[j] := 0;
end;
end;
BEGIN
write(Nhap n, k(k<=n):); readln(n,k);
fillchar(d,sizeof(d),0);
ChinhHopKhongLap(1);
END.
V d v Input / Output ca chng trnh:
n = 3, k=3 1. 1 2 3
2. 1 3 2
3. 2 1 3
4. 2 3 1
5. 3 1 2
6. 3 2 1
Theo cng thc, s lng chnh hp khng lp chp k=3 ca n=3 l:
( ) ( )
( )
4.2.4. Bi ton xp 8 qun hu
Trong bi ton 8 qun hu, nghim ca bi ton c th biu din di dng
vector (
) tha mn:
1)
* +.
2) Cc qun hu khng ng cng ct tc l
vi .
3) C th d dng nhn ra rng hai (x
1
,y
1
) v (x
2
,y
2
)
nm trn cng ng cho chnh (trn xung di)
nu: x
1
y
1
=x
2
y
2
, hai (x
1
,y
1
) v (x
2
,y
2
) nm trn cng ng cho ph (t di
ln trn) nu: x
1
+y
1
=x
2
+y
2
, nn iu kin hai qun hu xp hai (
) (
)
khng nm trn cng mt ng cho l: {
(
) (
)
(
) (
)
Do , khi chn c (
) th
vi mi
Sau y l chng trnh y , lit k tt c cc cch xp 8 qun hu ln bn c
vua 8x8.
program XepHau;
type vector =array[1..8]of integer;
var x :vector;
procedure GhiNghiem(x:vector);
var i :integer;
begin
for i:=1 to 8 do write(x[i],' ');
writeln;
end;
procedure XepHau(k:integer);
var Sk :array[1..8]of integer;
xk,i,nSk :integer;
ok :boolean;
begin
{Xc nh tp Sk l tp cc ng c vin c th chn
lm thnh phn xk}
nSk:=0;{lc lng ca tp Sk}
for xk:=1 to 8 do {th ln lt tng gi tr 1, 2,
,8}
begin
ok:=true; {kim tra gi tr c th chn lm ng
c vin cho xk c hay khng}
for i:=1 to k-1 do
if not((xk<>x[i])and(k-xk<>i-
x[i])and(k+xk<>i+x[i])) then
begin
ok:=false;
break;
end;
if ok then begin {c th chn lm ng c vin
cho xk ,kt np vo tp Sk}
inc(nSk);
Sk[nSk]:=xk;
end;
end;
{chn gi tr xk t tp Sk}
for i:=1 to nSk do begin
x[k]:=Sk[i];
if k=8 then GhiNghiem(x)
else XepHau(k+1);
x[k]:=0;
end;
end;
BEGIN
XepHau(1);
END.
Vic xc nh tp S
k
c th thc hin n gin v hiu qu hn bng cch s dng
cc mng nh du. C th, khi ta t hu i (i,x[i]), ta s nh du ct x[i]
(dng mt mng nh du nh bi ton chnh hp khng lp), nh du ng
cho chnh (i-x[i]) v nh du ng cho ph (i+x[i]).
const n =8;
type vector =array[1..n]of integer;
var cot :array[1..n]of integer;
cheoChinh :array[1-n..n-1]of integer;
cheoPhu :array[1+1..n+n]of integer;
x :vector;
procedure GhiNghiem(x:vector);
var i :integer;
begin
for i:=1 to n do write(x[i],' ');
writeln;
end;
procedure xepHau(k:integer);
var i :integer;
begin
for i:=1 to n do
if (cot[i]=0) and (cheoChinh[k-i]=0) and
(cheoPhu[k+i]=0) then
begin
x[k]:=i;
cot[i]:=1;
cheoChinh[k-i]:=1;
CheoPhu[k+i]:=1;
if k=n then GhiNghiem(x)
else xepHau(k+1);
cot[i]:=0;
cheoChinh[k-i]:=0;
CheoPhu[k+i]:=0;
end;
end;
BEGIN
fillchar(cot,sizeof(cot),0);
fillchar(cheoChinh,sizeof(cheoChinh),0);
fillchar(cheoPhu,sizeof(cheoPhu),0);
xepHau(1);
END.
Bi ton xp hu c tt c 92 nghim, mi nghim u tin m chng trnh tm
c l:
1. 1 5 8 6 3 7 2 4
2. 1 6 8 3 7 4 2 5
3. 1 7 4 6 8 2 5 3
4. 1 7 5 8 2 4 6 3
5. 2 4 6 8 3 1 7 5
6. 2 5 7 1 3 8 6 4
7. 2 5 7 4 1 8 6 3
8. 2 6 1 7 4 8 3 5
9. 2 6 8 3 1 4 7 5
10. 2 7 3 6 8 5 1 4
5. Bi tp p dng
Bi 1: DSEQ
Cho dy s nguyn A gm n phn t a
1
,a
2
, .., a
n
, tm cp ch s i, j tha mn:
DSEQ =|(
) (
n
g
0 1 2 3 4
1
2
3
-2 -3 -4
-1
-2
mt cu thnh cc tng t nh li vung trn mt phng (ca hnh hc
Euclid). Hnh vung (hiu theo ngha rng) trn mt cu l phn din tch c gii
hn bi hai kinh tuyn v hai v tuyn c s dc theo kinh tuyn bng s dc
theo v tuyn.
C bit, hnh vung c th l ton
b mt cu hoc ging tam gic nu
c mt cnh l v tuyn N (hoc
N). Din tch ca hnh vung c
nh ngha l s thuc hnh vung
. Nhng ca b mt Titan
c chp nh y c nh
du l 1, nhng cn li c nh
du 0.
Nhim v ca bn l vit mt chng trnh xc nh din tch hnh vung ln
nht c chp nh ca Titan.
V d hnh trn tng ng vi N = 4 v hnh vung ln nht chp nh c l
16 (lu rng kinh tuyn (N-1) v kinh tuyn N-1 l hai ng kinh tuyn lin k
vi ng kinh tuyn N).
Input
D liu vo gm nhiu b d liu tng ng vi nhiu test. Dng u tin
cha mt s nguyn dng khng ln hn 20 l s lng cc b d liu. Cc dng
tip theo cha cc b d liu.
Vi mi b d liu, dng u tin cha s nguyn N (1< N < 1800) l kch
thc ca bng. 2*N dng tip theo mi dng cha 2*N s nguyn c gi tr 0 hoc
1 m t cc trn tng vng trn trn mt cu theo cc v tuyn t N-1 n N, bt
u t kinh tuyn N (xem v d).
Output
0 1 2 3 4
1
2
3
0
0
1
0
1
0
1
0
0
1 0
0
0
0
0
0
0
1
0
1
1 1 1
1
1
1
1
1
1 1 1
1
1
1
1
1
1 1
1 1
1
1
1
1
1
1 1
0
0
0
0
0
0
0
0
0
0
0
0
0
0 0
0
1
-1 -2 -3 -4
-1
-2
-3
0 0 0 1 0 1 1 1
1 1 1 1 1 0 0 0
1 1 1 1 1 1 0 0
1 1 1 1 1 0 0 0
1 1 0 1 1 1 0 0
1 0 0 1 0 0 1 0
0 1 0 0 1 0 1 0
0 0 0 1 1 1 0 0
mt cu
D liu nhp
Bn s
ng bn
cu
Ty bn cu
imv -1,
kinh 1
imv 3,
kinh -3
Vi mi b d liu, ghi ra trn mt dng din tch hnh vung ln nht tm
c.
HV.INP HV.OUT
1
4
0 1 0 1 1 0 1 0
1 0 1 0 0 1 1 1
1 1 1 0 0 1 1 1
1 0 1 0 0 1 1 1
1 1 0 0 0 1 1 1
0 0 0 1 0 1 1 0
1 0 0 1 0 0 0 1
0 1 0 0 0 0 1 1
16
Bi 4: Lucky Numbers (Olympic sinh vin)
Trong mt s nc chu , 8 v 6 c coi l nhng ch s may mn. Bt c s
nguyn no ch cha ch s 8 v 6 c coi l s may mn, v d 6, 8, 66, 668, 88,
886 .
Nguyn l mt hc sinh rt thch ton. Nguyn thch cc s may mn nhng ch
thch cc s c dng
S = 8866
trong S c t nht mt ch s v ch s 6 v 8 khng nht thit phi ng thi
xut hin. V d, 8, 88, 6, 66, 86, 886, 8866 l cc s c dng S.
Cho trc mt s nguyn dng X (1 < X < 10 000), Nguyn mun tm s may
mn nh nht dng S, c khng qu 200 ch s v chia ht cho X.
Nhim v ca bn l vit mt chng trnh tm s cho Nguyn.
D liu vo
D liu vo gm nhiu b d liu tng ng vi nhiu test. Dng u tin
cha mt s nguyn dng khng ln hn 20 l s lng cc b d liu. Cc dng
tip theo cha cc b d liu.
Trn mi dng tip theo cha mt s nguyn X tng ng vi mi b d
liu.
D liu ra
Vi mi b d liu, ghi ra trn mt dng s may mn dng S nh nht chia
ht cho X. Trng hp khng tn ti s S c khng qu 200 ch s nh vy, ghi -1.
Num86.inp Num86.out
4
6
8
43
5
6
8
86
-1
Bi 5: Lt xu
C 16 ng xu xp thnh bng 4x4, mi ng xu c th p hoc nga nh hnh v
sau:
Mu en th hin ng xu p, mu trng th hin ng
xu nga.
Ti mi bc ta c php bin i sau: Chn mt ng
xu v thay i trng thi ca ng xu v tt c cc
ng xu nm cc chung cnh (p thnh nga, nga
thnh p). Cho trc mt trng thi cc ng xu, hy lp
trnh tm s php bin i t nht a v trng thi tt
c cc ng xu hoc u p hoc u nga.
D liu vo trong file COIN.INP c dng: Gm 4 dng, mi dng 4 k t w -
m t trng thi nga hoc b- m t trng thi p.
Kt qu ra file COIN.OUT c dng: Nu c th bin i c ghi s php bin
i t nht nu khng ghi Impossible
COIN.INP COIN.OUT COIN.INP COIN.OUT
bwbw
wwww
bbwb
bwwb
Impossible bwwb
bbwb
bwwb
bwww
4
Bi 6: Phn thng2
Tun l ngi thng cuc trong mt cuc thi Tm hiu kin thc v tr v c
nhn cc phn thng do cng ty XYZ ti tr. Cc phn thng c b tr trn
mt bng vung kch thc n n c dng mt li vung kch thc n v. Cc
dng ca bng c nh s t 1 n n, t trn xung di v cc ct ca bng
c nh s t 1 n n, t tri qua phi. nm trn giao ca dng i v ct j c
gi l (i, j) v trn cha mt mn qu c gi tr l a
ij
(1 i, j n).
nhn phn thng, Tun c php chn ng hai hnh vung khng giao nhau
(c th tip xc) kch thc k k chim trn mt s ca bng v nhn tt c cc
phn qu trong cc nm trong hai hnh vung .
Yu cu: Hy xc nh tng gi tr ln nht ca cc mn qu m Tun c th nhn
c.
D liu: Vo t file vn bn BONUS2.INP
Dng th nht cha hai s nguyn dng n, k (n 1000;
).
Dng th i trong s n dng tip theo cha n s nguyn khng m, s th j l
a
ij
(a
ij
1000).
Cc s trn cng mt dng c ghi cch nhau t nht mt du cch.
Kt qu: Ghi ra file vn bn BONUS2.OUT mt s nguyn duy nht l tng gi tr
ln nht ca cc mn qu m Tun c th nhn c.
BONUS2.INP BONUS2.OUT
4 2
9 9 1 1
9 9 1 1
1 8 8 1
1 8 8 1
68
Bi 7: Dy s
Cho dy s nguyn
. S
( ) c gi l mt s trung
bnh cng trong dy nu tn ti 3 ch s ( ) i mt khc
nhau, sao cho
)
Yu cu: Cho v dy s
(|
)
Kt qu ra:
S lng cc s trung bnh cng trong dy.
Bi 8: WMT
Cho bng s A gm MxN , mi cha mt s nguyn khng m (A
ij
) c gi tr
khng vt qu 10
9
. Xt hng i v hng j ca bng, ta cn xc nh X
ij
nguyn :
ij ij ij
1 1
| | | |
N N
ik jk
k k
S A X A X
= =
| | | |
= +
| |
\ . \ .
t gi tr nh nht.
Tnh
D liu vo trong file WMT.INP c dng:
- Dng u l 2 s nguyn dng M, N (1<M, N<1001)
- M dng sau, mi dng N s
Kt qu ra file WMT.OUT c dng: gm mt s W
Bi 9: Khu vui chi
Bn khu vui chi XYZ l mt hnh ch nht c kch thc . Cc hng
ca hnh ch nht c nh s t trn xung di bt u t 1 n , cn cc ct
c nh s t tri sang phi, bt u t 1 n , nm v tr hng v ct gi
l ( ). Khu vui chi XYZ c mt cng vo t ti (1,1) v mt cng ra t ti
( ). Mi ( ) c b tr mt tr chi, gi v mi ln vo ( ) l
) (
) (
), nn quyt nh tham
quan khu vui chi XYZ v n t nht hai trong ba .
Yu cu: Cho bn khu vui chi XYZ vi bng gi ti tt c cc v v tr ba
(
) (
) (
),
- dng tip theo, mi dng s nguyn dng l gi v ti cc .
Kt qu: a ra file vn bn XYZ.OUT mt s nguyn l chi ph t nht m Harry
phi tr khi thc hin quyt nh ca mnh.
Bi 10: V xe min ph
An sng thnh ph XYZ, hng ngy anh phi i lm t nh ti c quan bng xe
but. Thnh ph XYZ c nt giao thng c nh s t 1 n v tuyn xe
but hai chiu. Mi cp nt giao thng , c khng qu mt tuyn xe but hai
chiu, nu c th i t nt n nt (hoc t nt n nt ) vi gi v l
)
m t c tuyn xe but ht
ng.
Hai s lin tip trn mt dng cch nhau mt du cch. D liu bo m lun c
ng i t 1 n .
Kt qu cho ra file vn bn FT.OUT c dng: mt s duy nht l chi ph t nht
i t nh (nt giao thng 1) n c quan (nt giao thng ) vi v xe min ph
m An c.