Professional Documents
Culture Documents
BaitapLaptrinh PDF
BaitapLaptrinh PDF
IT
BI TP
K THUT LP TRNH
T
P
Ha Ni, 2013
BI TP K THUT LP TRNH Vesion 1.0
MUC LUC
I. Lp trnh vi cc cu trc d liu c bn .................................................................. 4
1.1. Cc bi tp vi d liu kiu s nguyn ........................................................... 4
1.2. Cc bi tp v mng v ma trn .................................................................... 15
1.3. Cc bi tp v xu k t ................................................................................ 28
1.4. Cc bi tp v file v cu trc ....................................................................... 30
II. Lp trnh da vo k thut duyt v qui ......................................................... 36
1.5. K thut vt cn............................................................................................. 36
1.6. K thut sinh k tip ..................................................................................... 46
1.7. K thut quay lui ........................................................................................... 54
1.8. K thut nhnh cn ........................................................................................ 65
1.9. K thut qui hoch ng ............................................................................... 67
IT
III. Lp trnh da vo ngn xp, hng i ................................................................. 72
1.10. K thut x l trn ngn xp ......................................................................... 72
1.11. K thut x l trn hng i ......................................................................... 81
T
2
BI TP K THUT LP TRNH Vesion 1.0
3
BI TP K THUT LP TRNH Vesion 1.0
Input Output
IT
2 10
1234 2
T
1000001
P
4
BI TP K THUT LP TRNH Vesion 1.0
Input Output
2 YES
12451 NO
1000012
V d
P
Input Output
2 60
30 20 98754568
222222 8888888
5
BI TP K THUT LP TRNH Vesion 1.0
Kt qu:
Mi b test vit ra YES hoc NO ty thuc kt qu kim tra.
V d
Input Output
3 NO
3333 YES
555555 YES
123455
BAI 1.1.5: S P 1
Mt s c coi l p nu n l s thun nghch, tng ch s l s nguyn t v tt c cc
ch s u l. Bi toan t ra l m xem trong mt on gia hai s nguyn cho trc c
bao nhiu s p nh vy.
D liu vo:
IT
Dng u tin ghi s b test. Mi b test vit trn mt dng hai s nguyn dng
tng ng, cch nhau mt khong trng. Cc s u khng vt qu 9 ch s.
Kt qu:
T
Input Output
3 4
23 199 0
2345 6789 311
222222 99999999
BAI 1.1.6: S P 2
Mt s c coi l p nu nu n c tnh cht thun nghch v tng ch s chia ht cho
10. Bi toan t ra l cho trc s ch s. Hy m xem c bao nhiu s p vi s ch
s nh vy.
D liu vo:
Dng u tin ghi s b test.
6
BI TP K THUT LP TRNH Vesion 1.0
Input Output
2 1
2 90
5 IT
BAI 1.1.7: TR CHI ON S
Trong lc rnh ri, hai bn sinh vin quyt nh chi tr oan s ging hc sinh cp 1. Mi
T
bn ngh ra hai con s nguyn khng m sau vit ra tng v hiu ca chng (cng l cac
s nguyn khng m). Cng vic ca bn kia l xac nh hai con s ban u. mt s
P
7
BI TP K THUT LP TRNH Vesion 1.0
Input Output
2 30 10
40 20 impossible
20 40
vt qu 105.
Kt qu:
P
Input Output
3 28 = 2 * 10 + 1 * 5 + 3 * 1
72 100 163 = 16 * 10 + 0 * 5 + 3 * 1
37 200 45 = 4 * 10 + 1 * 5 + 0 * 1
5 50
8
BI TP K THUT LP TRNH Vesion 1.0
nht c th biu din bi s que dim cho bi input (mi s cch nhau mt khong
trng).
P
Input Output
4 77
3 6 111
6 8 711
7 108 7111111
15
9
BI TP K THUT LP TRNH Vesion 1.0
Input Output
2 IT 10
23 199 34
2345 6789
T
Input Ouput
10
BI TP K THUT LP TRNH Vesion 1.0
2 1
23 199 15
2345 6789
3333 YES
P
555555 YES
123455
BAI 1.1.13: S P 3
Mt s c coi l p nu n l s thun nghch, tng ch s l s nguyn t v tt c cc
ch s u l. Bi toan t ra l m xem trong mt on gia hai s nguyn cho trc c
bao nhiu s p nh vy.
D liu vo:
Dng u tin ghi s b test. Mi b test vit trn mt dng hai s nguyn dng
tng ng, cch nhau mt khong trng. Cc s u khng vt qu 9 ch s.
Kt qu:
11
BI TP K THUT LP TRNH Vesion 1.0
BAI 1.1.14:
Hy vit chng trnh tm s cc s t nhin N tha mn ng thi nhng iu kin di
y (N231):
N l s c K ch s (K15).
N l s nguyn t.
IT
o ngc cc ch s ca N cng l mt s nguyn t.
Tng cc ch s ca N cng l mt s nguyn t.
Mi ch s ca N cng l cac s nguyn t ;
Thi gian thc hin chng trnh khng qua 1sec.
T
12
BI TP K THUT LP TRNH Vesion 1.0
BAI 1.1.15:
Trong ngy u tin pht hnh cc s in thoi di ng, cng ty vin thng d nh khuyn
mi cho N khach hng ng k trc nht cc s in thoi loi 1, M khch hng k tip
s in thoi loi 2 v K khch hng cui cng cc s in thoi loi 3. Cc s in thoi
loi 1, loi 2 v loi 3 c tnh cht sau:
S loi 3 (Loi 3): l cc s in thoi m su s cui cng ca n to thnh mt
s thun nghch c su ch s. V d s : 0913.104401.
S loi 2 (Loi 2): l cc s in thoi Loi 3 c tng su s cui cng ca n l
mt s chia ht cho 10. V d s : 0913.104401.
S loi 1 (Loi 1): l cc s in thoi Loi 2 c tng su s cui cng ca n khng
cha bt k s 0 no. V d s : 0913.686686.
Bi toan c t ra l cho trc mt phng an N, M, K, hy tr li YES nu cng
ty thc hin c, tr li NO nu cng ty khng thc hin c.
Input: Dng u tin ghi s b test, khng ln hn 100. Mi b test l mt b 3 s N,
M, K c ghi trn mt dng. Cc s c ghi cch nhau mt vi khong trng.
Output: Vi mi b test, vit ra trn mt dng gi tr YES hoc NO tng ng vi
IT
phng an thc hin c, hoc phng an khng thc hin c.
V d cho Input v Output:
T
INPUT OUTPUT
5 NO
P
BAI 1.1.16:
S N nguyn h c s ACM l nhng s nguyn thng thng s dng cc k hiu t 0,
1, ..,9 lm k hiu ca h m (V d s 719ACM). Nguyn tc chung i mt s A =(a1,
a2,..,aN) h c s ACM sang s h c s 10 c thc hin nh sau:
N
K10 ai * (i!) , trong ai ch s ti v tr th i ca h c s ACM .
i 1
V d:
13
BI TP K THUT LP TRNH Vesion 1.0
D liu ra:
Vi mi b d liu, ghi ra trn mt dng mt s c chuyn i.
V d d liu vo V d d liu ra
6 53
719 1
1 7
15 8
110
IT 8
102 0
8
T
P
14
BI TP K THUT LP TRNH Vesion 1.0
Input Output
T
2 1
4 6
P
1 3 3 4
12
1 2 3 3 3 3 4 4 5 5 5 1
15
BI TP K THUT LP TRNH Vesion 1.0
Vi mi b test: dng u tin ghi s n. Dng tip theo ghi n s nguyn dng ca
dy (cc s khng vt qu 1000).
Kt qu:
Ghi ra mn hnh trn mt dng s cc phn t tha mn.
V d:
Input Output
2 5
7 3
3568429
15
9 8 123 7 11 14 18 21 399 10 5 4 1 2 3 IT
BAI 1.2.3: ON S TIP THEO
An v Bnh chi tr chi s hc n gin. Dy s m An a ra l A =
T
16
BI TP K THUT LP TRNH Vesion 1.0
1 5
3 235233
1234
P
5
1 1 2 -2 3 3
17
BI TP K THUT LP TRNH Vesion 1.0
Input Output
1 2
2 0 1
1 1 1 1
1 2
9 1
4 2 IT
BAI 1.2.6: S FIBONACI TH N
Dy Fibonaci c nh ngha nh sau: F(0) = 0, F(1)=1, , F(n)=F(n-1)+F(n-2). Cho
T
18
BI TP K THUT LP TRNH Vesion 1.0
19
BI TP K THUT LP TRNH Vesion 1.0
Input Output
2 1
10 1234567890
1231231231
10
1234567890
Cc gi tr u khng qu 100.
Kt qu (ghi ra mn hnh):
P
20
BI TP K THUT LP TRNH Vesion 1.0
W(n) k 1 k . T(k 1)
n
D liu vo:
Dng u tin cha s nguyn N l s b d liu ( 1 N 1000 ).
Mi b d liu gm 1 dng cha duy nht 1 s nguyn n ( 1 n 300 ) l s im
trn cnh ca tam gic.
IT
Kt qu: Ghi ra mn hnh
Vi mi b d liu vo, in ra trn mt dng s th t ca b d liu (1 n N), mt
du cch, gi tr ca n trong b d liu, mt du cch v tng c trng s W(n) ca
T
D.IN Kt qu
4 1 3 45
3 2 4 105
4 3 5 210
5 4 10 2145
10
21
BI TP K THUT LP TRNH Vesion 1.0
BAI 1.2.11: XE TI U
Khi mua sm trn khu Long Street, Michael thng xe ca mnh mt s v tr ngu
nhin v i b vo ca hng. Bn hy gip Michael chn mt ch xe khong cch
phi i b khi mua hng l nh nht.
Long Street c th coi nh l mt ng thng m tt c nhng im mua hng l cac im
c ta nguyn.
D liu vo:
Dng u tin cha mt s nguyn 1 t 100 l s lng b test. Mi b test gm
2 dng, dng u tin ghi s ca hng n m Michael mun qua mua hng, 1 n
20 v dng th hai ghi n s nguyn l ta cac im ny trn ph Long Street, 0
xi 99.
Kt qu:
Vi mi b test, in ra mn hnh trn mt dng khong cch nh nht phi i b vi
ch xe ti u.
V d cho Input v Output:
IT
Input Ouput
2 152
4 70
T
24 13 89 37
6
P
7 30 41 14 39 42
BAI 1.2.12:
Ta nh ngha mt t l dy cc k t khng cha khong trng (space), du tab, du xung
dng (\n), du v u dng (\r) v du kt thc dng (\0). Tn xut xut hin ca t W
trong tp vn bn D1 v D2, k hiu l P(W) c tnh theo cng thc:
N1 (W ) N 2 (W )
P(W ) ; trong Ni(W) l s ln xut hin t W trong Di, N(Di) l tng
N ( D1 ) N ( D2 )
s t ca tp vn bn Di (i=1, 2).
22
BI TP K THUT LP TRNH Vesion 1.0
AB AC AD AE AF AB AC AD AH AK 3
AB AC AD AE AF AB AC AD AH AK AB 0.2
AC 0.2
AD 0.2
IT
BAI 1.2.13:
Ta nh ngha mt t l dy cc k t khng cha khong trng (space), du tab, du xung
T
dng (\n), du v u dng (\r) v du kt thc dng (\0). Tn xut xut hin ca t W
trong tp vn bn D1 v D2, k hiu l P(W) c tnh theo cng thc:
P
N1 (W ) N 2 (W )
P(W ) ; trong Ni(W) l s ln xut hin t W trong Di, N(Di) l tng
N ( D1 ) N ( D2 )
s t ca tp vn bn Di (i=1, 2).
Cho hai file vn bn data1.in v data2.in. S dng CTDL Mng, hy tm tp cc t v
tn xut xut hin ca cc t xut hin trong file data1.in nhng khng xut hin trong file
data2.in. Tp cc t tm c ghi li trong file Ketqua.out theo khun dng:
Dng u tin ghi li s t nhin K l s t W tm c theo yu cu ca bi ton.
K dng k tip, mi dng ghi li mt t W v tn xut xut hin P(W) tha mn yu
cu ca bi ton. W v P(W) c vit cch nhau bi mt vi khong trng.
V d vi file data1.in v data2.in di y s cho ta file Ketqua.out ca bi ton.
23
BI TP K THUT LP TRNH Vesion 1.0
AB AC AD AE AF AB AC AD AH AK 7
AB AC AD AE AF AB AC AD AH AK AB 0.2
AC 0.2
AD 0.2
AE 0.1
AF 0.1
AH 0.1
AK 0.1
BAI 1.2.14:
Ta nh ngha mt t l dy cc k t khng cha khong trng (space), du tab, du xung
IT
dng (\n), du v u dng (\r) v du kt thc dng (\0). Tn xut xut hin ca t W
trong tp vn bn D1 v D2, k hiu l P(W) c tnh theo cng thc:
N1 (W ) N 2 (W )
P(W ) ; trong Ni(W) l s ln xut hin t W trong Di, N(Di) l tng
T
N ( D1 ) N ( D2 )
s t ca tp vn bn Di (i=1, 2).
P
AB AC AD AE AF AB AC AD AH AK 2
AB AC AD AE AF AB AC AD AH AK AE 0.1
AF 0.1
24
BI TP K THUT LP TRNH Vesion 1.0
BAI 1.2.15:
Cho tp cc s t nhin ghi li trong file data.in theo tng dng; mi dng ghi li nhiu
nht 10 s; hai s c vit cch nhau mt vi khong trng; mi s t nhin c th xut
hin nhiu ln nhng v tr khc nhau trong file. Ta gi tn xut xut hin s t nhin X
N(X )
trong file data.in l P( X ) ; trong N(X) l s ln xut hin s t nhin X trong
K
file data.in, K l s cc s t nhin trong file data.in. S dng CTDL mng, hy vit chng
trnh tm s va nguyn t va thun nghch X c P(X) ln nht u tin tm c trong
file data.in. V d vi file data.in c cho di y, ta tm c s X = 131 va l s
nguyn t, va l s thun nghch vi tn xut xut hin ln nht l P(X) = 3/30 = 0.1.
data.in
10 131 171 13 37 27 IT30 23 77 444
10 131 171 20 23 77 23 27 77 444
10 131 171 20 23 77 23 27 77 444
BAI 1.2.16:
T
Cho tp cc s t nhin trong file data.in c ghi theo tng dng, mi dng ghi nhiu nht
5 s, hai s c vit cch nhau mt vi khong trng. Bit rng, mi s t nhin trong file
P
data.in hoc l s nguyn t, hoc l s thun nghch v c th xut hin nhiu ln nhng
v tr khc nhau trong file. S dng cu trc d liu mng, hy vit chng trnh tach tp
cc s v m s ln xut hin ca mi s trong file data.in thnh 3 file ketqua1.out,
ketqua2.out, ketqua3.out tha mn nhng yu cu di y.
a) File ketqua1.out ghi li cc s nguyn t nhng khng l s thun nghch cng vi
s ln xut hin ca n trong file data.in;
b) File ketqua2.out ghi li cc s thun nghch nhng khng l nguyn t cng vi s
ln xut hin ca n trong file data.in;
c) File ketqua3.out ghi li cc s va l s nguyn t va l s thun nghch cng vi
s ln xut hin ca n trong file data.in;
d) Khun dng ca cc file kt qu c qui nh nh sau:
Dng u tin ca mi file ghi li s cc s ca mi file kt qu;
25
BI TP K THUT LP TRNH Vesion 1.0
BAI 1.2.17:
Cho mt hnh vung gm 5 x 5 hnh vung n v nh hnh v sau:
3 5 1 1 1
5 0 0 3 3
1 0
IT
3 4 3
1 3 4 2 1
1 3 3 1 3
T
26
BI TP K THUT LP TRNH Vesion 1.0
BAI 1.2.18:
Tr chi Rubik trn mt phng c th c m t bng dy cc s t 1 n 8 v c chia
thnh hai hng. Ta qui c trng thi khi u S ca Rubik l trng thai trong hnh 1. Ngi
ta chng minh c rng, t trng thi khi u S ta c th dch chuyn thnh trng thi
T bt k trn cc thao tac A, B, C di y:
A : i hng trn cho hng di (Hnh 2).
IT
B : To nn mt hon v vng trn mi hng (Hnh 3).
C : Quay 90 4 gia (Hnh 4)
Hnh 1. Trng thi khi u S
T
1 2 3 4
8 7 6 5
P
Yu cu: Cho trc mt trng thi kt thc T. Hy chuyn S thnh T sao cho s cc
php A, B, C thc hin l t nht.
Input: Dng u tin ghi s b test, khng ln hn 100. Mi b test c t chc trn
mt dng l gi tr trng thi kt thc T.
Output: Vi mi b test, vit ra trn mt dng s cac bc A, B, C t nht.
27
BI TP K THUT LP TRNH Vesion 1.0
INPUT OUTPUT
2 7
2 6 8 4 5 7 3 1 0
1 2 3 4 5 6 7 8
1.3. Cc bi tp v xu k t
BAI 1.3.1: PHP CNG S NGUYN
Vit chng trnh cng hai s nguyn dng bt k (khng qu 256 ch s).
D liu vo:
IT
Dng 1 ghi s b test. Mi b test gm 2 dng, mi dng ghi mt s nguyn dng
Kt qu (ghi ra mn hnh):
Vi mi b test ghi ra mt s nguyn dng l tng hai s cho (s ny cng
T
Input Output
3 112
12 10100
100 121212121257800190
1212
8888
121212121212121212
45678978
28
BI TP K THUT LP TRNH Vesion 1.0
D liu vo:
Dng u tin cha mt s nguyn 1 t 40 l s lng b test. Mi b test s bt
u vi s lng s in thoi n c ghi trn mt dng, 1 n 10000. Sau l
n dng, mi dng ghi duy nht 1 s in thoi. Mt s in thoi l mt dy khng
qu 10 ch s.
IT
Kt qu:
Vi mi b d liu vo, in ra YES nu danh sch nht quan v NO trong trng
T
hp ngc li.
V d cho Input v Output:
P
Input Output
2 NO
3 YES
911
97625999
91125426
5
113
12340
123440
12345
98346
29
BI TP K THUT LP TRNH Vesion 1.0
A.IN Kt qu
30
BI TP K THUT LP TRNH Vesion 1.0
B.IN Kt qu
11 13 14 16 18 21 13 23 99 88 77 66
IT 4
13 13 13 13 23 23 23 13 24 25 26 27 28 97
T
nht trong file v cho bit t xut hin bao nhiu ln. Nu c nhiu t cng c
di ln nht th in ra tt c cc t theo th t xut hin trong file ban u.
D liu vo: File C.IN
Gm mt on vn bn bt k. Khng qu 1000 t.
Kt qu (ghi ra mn hnh):
Ghi ra trn mt dng t thun nghch c di ln nht v s ln xut hin ca
n.
Nu c nhiu t cng c di ln nht th cc t c lit k theo th t xut
hin ban u.
V d:
C.IN KT QUA
31
BI TP K THUT LP TRNH Vesion 1.0
D.IN KT QUA
P
Tiet hoc cuoi cung da ket thuc. Mon hoc Tin hoc co so 2 thuc. 5
da ket thuc. Cac ban co gang on tap tot de thi dat ket qua nhieu 5
cao. Chuc cac ban ngay cang gat hai duoc nhieu thanh thanh 5
cong tren con duong da chon duong 5
32
BI TP K THUT LP TRNH Vesion 1.0
Gm mt on vn bn bt k. Khng qu 1000 t.
Kt qu (ghi ra mn hnh):
Ghi ra trn mt dng t thun nghch c di ln nht v s ln xut hin ca
n.
Nu c nhiu t cng c di ln nht th cc t c lit k theo th t xut
hin ban u.
V d:
E.IN KT QUA
AAA BAABA HDHDH ACBSD SRGTDH DDDDS HDHDH 3
DUAHD AAA AD DA HDHDH AAA AAA AAA AAA
DDDAS HDHDH HDH AAA AAA AAA AAA AAA
AAA AAA AAA
DHKFKH DHDHDD HDHDHD DDDHHH HHHDDD
TDTD IT
BAI 1.4.6: SP XP TH SINH
Hy sp xp danh sach th sinh c trong file theo tng im gim dn.
Mi th sinh gm cc thng tin:
T
im mn 1, im mn 2, im mn 3
D liu vo: File: F.IN
Dng u cha s th sinh. Mi th sinh vit trn 3 dng:
Dng 1: Tn th sinh
Dng 2: Ngy sinh
Dng 3,4,5: 3 im thi tng ng. Cac im thi u m bo hp l (t 0 n
10).
Kt qu: Ghi ra mn hnh
In ra danh sach th sinh sp xp theo tng im gim dn. Nu 2 th sinh bng
im nhau th th sinh no xut hin trc trong file s vit trc. Mi th sinh vit
trn mt dng gm: m, tn, ngy sinh v tng im. Cac thng tin cach nhau ng
1 khong trng. im tng c lm trn n 1 s sau du phy.
33
BI TP K THUT LP TRNH Vesion 1.0
V d
F.IN Kt qu
3 2 Nguyen Van B 1/9/1994 26.5
Nguyen Van A 1 Nguyen Van A 12/12/1994 16.0
12/12/1994 3 Nguyen Van C 6/7/1994 14.0
3.5
7.0
5.5
Nguyen Van B
1/9/1994
7.5
9.5
9.5
Nguyen Van C IT
6/7/1994
4.5
4.5
5.0
T
P
34
BI TP K THUT LP TRNH Vesion 1.0
In ra danh sch mt hng sp xp theo li nhun gim dn (li nhun tnh bng gi bn
tr i gia mua). Nu 2 mt hng li nhun bng nhau th mt hng no xut hin trc
trong file s vit trc. Mi mt hng vit trn mt dng gm: m, tn, nhm hng v li
nhun. Cac thng tin cach nhau ng 1 khong trng.
V d
D.IN Kt qu
3 2 Tu lanh Side by Side Dien lanh 7699
May tinh SONY VAIO 1 May tinh SONY VAIO Dien tu 1299
Dien tu 3 Banh Chocopie Tieu dung 10.5
16400
17699
Tu lanh Side by Side
Dien lanh
18300
25999
Banh Chocopie IT
Tieu dung
27.5
37
T
P
35
BI TP K THUT LP TRNH Vesion 1.0
S con 36.
S chn 100.
Kt qu:
Ghi ra mn hnh s con g, s con ch. Mi loi mt dng.
D liu vo:
D liu vo n, cj, aj, b c cho trong file data.in theo khun dng sau:
Dng u tin ghi li s t nhin n v b. Hai s c ghi cach nhau bi mt vi
k t trng;
Dng k tip ghi li n s c i (i=1, 2, .., n ). Hai s c ghi cach nhau bi mt
vi k t trng;
Dng cui cng ghi li n s a i ( i = 1, 2, ..,n). Hai s c ghi cach nhau bi
mt vi k t trng.
Kt qu:
36
BI TP K THUT LP TRNH Vesion 1.0
Data.in Ketqua.out
4 10 12
5 1 9 3 0 0 1 1
5 3 6 4
37
BI TP K THUT LP TRNH Vesion 1.0
Dayso.in ketqua.out
7 50 7
5 10 15 20 25 30 35 20 30
15 35
5 20 25
5 15 30
5 10 35
5 10 15 20
5 10 15 20
BAI 2.1.4: T HP
IT
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 cac t hp chp 2 l: {1,2}, {1,3, {1,4, {2,3}, {2,4}, {3,4}. V
T
38
BI TP K THUT LP TRNH Vesion 1.0
39
BI TP K THUT LP TRNH Vesion 1.0
BAI 2.1.9:
IT
TM S LN NHT TRONG DY S CHO TRC
Cho mt dy s nguyn bt k, hy tm ra s ln nht.
D liu vao (nhp t ban phim):
T
In ra mn hnh s ln nht.
D liu vao:
40
BI TP K THUT LP TRNH Vesion 1.0
File input: dng u ghi n, M l s nguyn dng, dng th hai ghi trng lng
ca n mt hng wi , cach nhau bi du cach, dng th 3 ghi gia tr ca n mt hng
ci .
Kt qu:
File output ghi phng an ti u nht th t cac mt hng mang i c.
BAI 2.1.14: O CH CI
Bn phi vit chng trnh a ra tt c cac t c th c phat sinh t mt tp cac ch cai.
V d: Cho t abc, chng tr nh ca bn phi a ra c cac t "abc", "acb", "bac",
41
BI TP K THUT LP TRNH Vesion 1.0
"bca", "cab" v "cba" (bng cach kho sat tt c cac trng hp khac nhau ca t hp ba
ch cai cho).
D liu vao:
D liu vo c cho trong tp input.txt cha mt s t. Dng u tin l mt s t
nhin cho bit s t c cho di. Mi dng tip theo cha mt t. Trong , mt
t c th cha c ch cai thng hoc hoa t A n Z. Cac ch thng v hoa c
coi nh l khac nhau. Mt ch cai no c th xut hin nhiu hn mt ln.
Kt qu:
Vi mi t cho trong file Input.txt, kt qu nhn c ra file Output.txt phi cha
tt c cac t khac nhau c sinh t cac ch cai ca t . Cac t c sinh ra t mt
t cho phi c a ra theo th t tng dn ca bng ch cai.
Vi d:
Input.txt
IT Output.txt
2 abc
abc acb
acba bac
T
bca
cab
P
cba
aabc
aacb
abac
abca
acab
acba
baac
baca
bcaa
caab
caba
cbaa
42
BI TP K THUT LP TRNH Vesion 1.0
43
BI TP K THUT LP TRNH Vesion 1.0
D liu vao:
Mt s nguyn duy nht n (1<=n<=16).
Kt qu:
Bng m gray n-bit theo th t, mi m trn mt dng.
Vi d:
1001
1000
P
Input.txt Output.txt
44
BI TP K THUT LP TRNH Vesion 1.0
3 123
132
213
231
312
321
BAI 2.1.19:
Cho mt chui gm n bt X = (x1, x2, .., xn). Ta gi K l tng cc bt lin k ca chui X (
k hiu l AdjBC(X)) c tnh toan nh sau:
n 1
K xi xi 1 ;
i 1
V d :
IT
AdjBC(011101101) = 3
AdjBC(111101101) = 4
AdjBC(010101010) = 0
T
45
BI TP K THUT LP TRNH Vesion 1.0
6 60 52 7 22937308
7 70 59 8 99167
8 80 73 9 15476
9 90 84 10 23076518
10 100 90
Input.txt Output.txt
T
2 00
P
01
10
11
Gi y:
Ta d dng xc nh c cu hnh u tin l 0000.0 ( di n) v dy cui cng l
11111. xc nh c dy nh phn ng sau ta ly dy nh phn hin ti + 1 (bit 1).
V d: dy nh phn hin ti 000 > dy k tip 000+1=001.
Xy dng thut ton sinh k tip:
- Khi to dy nh phn ban u l 0000
46
BI TP K THUT LP TRNH Vesion 1.0
- Duyt dy nh phn t cui, nu phn t cui l bit 0 th thay n bng bit 1.Cn cc bit
khc c duyt qua c gn =1. (sinh k tip)
while (cha v u dy nh phn) do
i=n;
while(s[i]==1) do
begin
s[i]=0;
i
end
s[i]=1;
end;
47
BI TP K THUT LP TRNH Vesion 1.0
Kt qu:
Mi dng mt dy nh phn. Cc dy nh phn phi c lit k theo th t t in.
V d:
Input.txt Output.txt
2 01
10
11
Input.txt Output.txt
7 7
61
52
511
43
421
4111
331
48
BI TP K THUT LP TRNH Vesion 1.0
322
3211
31111
2221
22111
211111
1111111
BAI 2.2.7:
Cho dy A[] gm N s t nhin khc nhau v s t nhin K. Hy s dng thut ton sinh
vit chng trnh lit k tt c cc dy con ca dy s A[] sao cho tng cc phn t trong
dy con ng bng K. D liu vo cho bi file dayso.in theo khun dng sau:
Dng u tin ghi li s t nhin N l s cc s ca dy s A[] v s t nhin K,
hai s c vit cch nhau bi mt vi khong trng;
Dng k tip ghi li N s ca dy s A[], hai s c vit cch nhau mt vi
khong trng.
IT
Cc dy con tho mn iu kin tm c ghi li trong file ketqua.out theo khun dng sau:
Dng u tin ghi li s cc dy con c tng cc phn t ng bng K tm c;
Nhng dng k tip mi dng ghi li mt dy con. Hai phn t khc nhau ca dy
con c vit cch nhau bi mt vi khong trng.
T
Dayso.in Ketqua.out
5 50 3
10 15 25
5 10 15 20 25 5 20 25
5 10 15 20
BAI 2.2.8:
Cho dy gm N s nguyn phn bit A[] = {a1, a2, .., aN } v s t nhin K ( KN100).
Hy s dng thut ton sinh vit chng trnh lit k tt c cc dy con K phn t tng dn
t nhin ca dy s A[]. D liu vo cho bi file dayso.in theo khun dng sau:
49
BI TP K THUT LP TRNH Vesion 1.0
Dng u tin ghi li hai s t nhin N, K. Hai s c vit cch nhau mt vi khong
trng;
Nhng dng k tip ghi li N s nguyn ca dy s A[], hai s khac nhau c vit
cch nhau mt vi khong trng.
Cc dy con K phn t tng dn ca dy s A[] tm c ghi li trong file ketqua.out
theo khun dng:
Dng u tin ghi li s t nhin M l s cc dy con K phn t tng dn ca dy
s A[] tm c;
M dng k tip, mi dng ghi li mt dy con. Hai phn t khc nhau ca dy con
c vit cch nhau bi mt vi khong trng.
V d vi file dayso.in di y s cho ta file ketqua.out tng ng.
dayso.in ketqua.out
5 3 7
2 5 15 10 20 2 5 15
2 5 10
2 5 20
2 15 20
IT
2 10 20
5 15 20
5 10 20
T
BAI 2.2.9:
P
Cho dy gm N s nguyn phn bit A[] = {a1, a2, .., aN } v s t nhin K ( KN100).
Hy s dng thut ton sinh vit chng trnh lit k tt c cc dy con K phn t tng dn
t nhin ca dy s A[]. D liu vo cho bi file dayso.in theo khun dng sau:
Dng u tin ghi li hai s t nhin N, K. Hai s c vit cch nhau mt vi khong
trng;
Nhng dng k tip ghi li N s nguyn ca dy s A[], hai s khac nhau c vit
cch nhau mt vi khong trng.
Cc dy con K phn t tng dn ca dy s A[] tm c ghi li trong file ketqua.out
theo khun dng:
Dng u tin ghi li s t nhin M l s cc dy con K phn t tng dn ca dy
s A[] tm c;
M dng k tip, mi dng ghi li mt dy con. Hai phn t khc nhau ca dy con
c vit cch nhau bi mt vi khong trng.
V d vi file dayso.in di y s cho ta file ketqua.out tng ng.
50
BI TP K THUT LP TRNH Vesion 1.0
dayso.in ketqua.out
5 3 7
2 5 15 10 20 2 5 15
2 5 10
2 5 20
2 15 20
2 10 20
5 15 20
5 10 20
BAI 2.2.10:
Cho ma trn vung C = (cij) cp N (1 i, j N100) gm N2 s t nhin (cc s khng nht
thit phi khc nhau) ghi li trong file matran.in theo khun dng sau :
Dng u tin ghi li s t nhin N l cp ca ma trn vung C;
N dng k tip ghi li ma trn vung C = (cij). Hai phn t khc nhau ca ma trn
c ghi cch nhau bi mt vi khong trng.
Hy s dng thut ton sinh thch hp vit chng trnh ly trn mi hng, mi ct
IT
duy nht mt phn t ca ma trn C sao cho tng cc phn t ny l nh nht. Kt qu
tm c ghi li trong file ketqua.out theo khun dng:
Dng u tin ghi li tng gi tr nh nht ca N phn t tm c;
N dng k tip, mi dng ghi li ba s i, j, cij tng ng vi ch s hng, ch s ct
T
matran.in ketqua.out
6 82
10 64 57 29 18 15 1 1 10
34 20 19 30 16 12 2 6 12
57 49 40 16 11 19 3 4 16
29 21 46 26 21 18 4 5 21
28 16 11 21 21 37 5 3 11
15 12 15 48 37 30 6 2 12
51
BI TP K THUT LP TRNH Vesion 1.0
BAI 2.2.11:
Cho dy gm N s nguyn phn bit A[] = {a1, a2, .., aN } v s t nhin K ( KN100).
Hy s dng thut ton sinh vit chng trnh lit k tt c cc dy con K phn t gim
dn t nhin ca dy s A[]. D liu vo cho bi file dayso.in theo khun dng sau:
Dng u tin ghi li hai s t nhin N, K. Hai s c vit cch nhau mt vi khong
trng;
Nhng dng k tip ghi li N s nguyn ca dy s A[], hai s khac nhau c vit
cch nhau mt vi khong trng.
Cc dy con K phn t tng dn ca dy s A[] tm c ghi li trong file ketqua.out
theo khun dng:
Dng u tin ghi li s t nhin M l s cc dy con K phn t tng dn ca dy
s A[] tm c;
M dng k tip, mi dng ghi li mt dy con. Hai phn t khc nhau ca dy con
c vit cch nhau bi mt vi khong trng.
V d vi file dayso.in di y s cho ta file ketqua.out tng ng.
dayso.in
5 3
IT
ketqua.out
7
2 5 15 10 20 2 5 15
2 5 10
2 5 20
T
2 15 20
2 10 20
5 15 20
P
5 10 20
BAI 2.2.12:
Hy s dng thut ton sinh (quay lui, nhnh cn, qui hoch ng) vit chng trnh Vit
n
chng trnh tm X = (x1, x2,..,xn) v gi tr f ( x1 , x2 ,.., xn ) ci xi t gi tr ln nht. Trong
i 1
n
, X x1 , x2 ,.., xn D ai xi b; xi 0,1 , ci, ai, b l cc s nguyn dng, n 100
i 1
D liu vo n, cj, aj, b c cho trong file data.in theo khun dng sau:
Dng u tin ghi li s t nhin n v b. Hai s c ghi cch nhau bi mt vi k
t trng;
n dng k tip ghi li trn mi dng mt cp s ci , ai (i=1, 2, .., n). Hai s c ghi
cch nhau bi mt vi k t trng;
52
BI TP K THUT LP TRNH Vesion 1.0
Data.in Ketqua.out
4 10 12
5 5 0 0 1 1
1 3
9 6
3 4
BAI 2.2.13: IT
Cho dy gm n s t nhin phn bit a1, a2, .., an v s t nhin B. Hy s dng thut ton
sinh (quay lui, nhnh cn, qui hoch ng) lit k tt c cc phn t ca tp
n
D x1 , x2 ,, xn : ai xi B, xi 0,1, i 1,2,..., n ;
i 1
T
Dng k tip ghi li n s nguyn dng a1, a2,..,an. Hai s khac nhau c vit cch
nhau bi mt vi k t trng.
Kt qu ra ghi li trong file ketqua.out theo khun dng sau:
Dng u tin ghi li s t nhin k l s phn t ca tp D.
k dng tip theo mi dng ghi li mt vector nh phn x = (x1, x2 ,.., xn) l phn t
ca D. Hai thnh phn khc nhau ca vector x c vit cch nhau bi mt vi
khong trng.
V d vi n =7, B = 25, { a1, a2, a3, a4, a5, a6, a7} = {5, 10, 15, 20, 25, 30, 35} trong file
data.in s cho ta 3 phn t ca tp D tng ng vi 3 vector nh phn di n trong file
ketqua.out di y:
Data.in Ketqua.Out
7 25 3
5 10 15 20 25 0 0 0 0 1 0 0
30 35 1 0 0 1 0 0 0
0 1 1 0 0 0 0
53
BI TP K THUT LP TRNH Vesion 1.0
BAI 2.2.14:
Mt ngi qun l c n cng vic cn thc hin cng mt lc. Bit rng c n cng nhn,
mi cng nhn u c th thc hin c tt c cc cng vic nhng vi thi gian khc
nhau. Thi gian cng nhn th i thc hin cng vic j l Ci,j (tnh theo gi). Hy s dng
thut ton sinh (quay lui, nhnh cn, qui hoch ng) vit chng trnh tm cach b tr n
cng vic cho n cng nhn sao cho tng thi gian thc hin l nh nht.
D liu vo c cho bi file: VIEC.INP trong :
- Dng th nht ghi s N ;
- N dng tip theo ghi cc gi tr ca ma trn thi gian C. Hai phn t khac nhau c
vit cch nhau mt vi khong trng.
Kt qu tm c lu vo file KETQUA.OUT trong :
- Dng th nht ghi gi tr tng thi gian nh nht c th t c
IT
- Dng th hai ghi cch b tr vic cho tng ng th.
V d: File VIEC.INP v KETQUA.OUT
T
VIEC.INP KETQUA.OUT
6 82
10 64 57 29 18 15 1 6 5 3 4 2
P
34 20 19 71 16 12
57 49 40 16 11 19
29 21 46 26 21 18
28 16 11 21 21 37
15 12 15 48 37 30
54
BI TP K THUT LP TRNH Vesion 1.0
IT
D liu vao:
File input gm: s nguyn dng n.
T
Kt qu:
File output: dng u tin ghi s phng an tha mn m. Cac dng tip theo ghi m
P
55
BI TP K THUT LP TRNH Vesion 1.0
Hn ch: 4<=M,N<=100.
Kt qu:
Dng u tin l s K m t s cac phng i qua. Nu khng tm c ng ra th
K=0. Cac dng tip theo l to cac phng i qua.
56
BI TP K THUT LP TRNH Vesion 1.0
Gi :
Bi ton ngi bn hng c th c m hnh ho nh mt th v hng c trng s,
trong mi thnh ph l mt nh ca th cn ng i gia cc thnh ph l mi
cch. Khong cch gia hai thnh ph l di cnh. y l vn cc tiu ho vi im
u v im cui l cng mt nh sau khi thm ht cc nh cn li ng mt ln. M
hnh ny thng l mt th y (gia mi cp nh u c cnh). Nu khng c ng
gia hai thnh ph th c th thm mt cnh vi di ln vo th m khng nh
hng n kt qu ti u sau cng.
3 8
T
8 1 0
P
2 7 4 4
4 5 2 6 5
57
BI TP K THUT LP TRNH Vesion 1.0
Nhim v ca bn v vit chng trnh nhn d liu vo l mt tam giac s cha trong text
file INPUT.TXT v a ra kt qu l gia tr ca tng Smax trn mn hnh.
File INPUT.TXT c dng nh sau:
Dng th 1: c duy nht 1 s N l s hng ca tam giac s (0<N<100).
N dng tip theo, t dng th 2 n dng th N+1: dng th i c (i-1) s cach nhau bi
du trng (space).
V d: vi ni dung ca file INPUT.TXT l
5
7
38
810
2744 IT
45265
th kt qu chy chng trnh s l: Smax=30.
T
BAI 2.3.7: CH
P
58
BI TP K THUT LP TRNH Vesion 1.0
TT RR GG SS JJ
XX OO KK LL II
MM DD VV BB NN
WW PP AA EE
UU QQ HH CC FF
T R G S J
P
X D O K I
M V L N
W P A B E
U Q H C F
Cu hnh ban u ca ch
Bn hy vit mt chng trnh ca bn cha cu hnh ban u ca ch cng cac nc i
v ra ch kt qu.
59
BI TP K THUT LP TRNH Vesion 1.0
Input
u vo ca chng trnh ca bn cha cu hnh ban u ca mt ch v mt dy
cac nc i trong ch .
Nm dng u tin m t cu hnh ban u ca ch, mi dng tng ng vi mt
hng ca ch v cha ng 5 k t tng ng vi 5 hnh vung ca ch trn
hng . trng c din t bng mt du cach.
Cac dng tip theo sau l dy cac nc i. Dy cac nc i c ghi bng dy cac
ch A,B,R v L th hin hnh vung no c trt vo trng. A th hin hnh
vung pha trn trng c trt vo trng, tng ng: B-pha di, R-bn phi,
L-bn trai. C th c nhng nc i khng hp cach, ngay c khi n c biu th
bng nhng ch cai trn. Nu xut hin mt nc i khng hp cach th ch coi
nh khng c cu hnh kt qu. Dy cac nc i c th chim mt s dng, nhng
n s c xem l kt thc ngay khi gp mt s 0.
Out put
IT
Nu ch khng c cu hnh kt qu th thng bao 'This puzzle has no final
configuration.'; ngc li th hin th cu hnh ch kt qu. nh dng mi dng kt
qu bng cach t mt du cach vo gia hai k t k tip nhau. trng cng c x
T
60
BI TP K THUT LP TRNH Vesion 1.0
X OKLI
MDVBN
WP AE
UQHC F
Sample Input 2
AB C DE
FGHIJ
KLMNO
PQRS
TUVWX
AAA
LLLL0
IT
Sample Output 2
ABCD
T
FGHIE
KLMNJ
P
PQRSO
TUVWX
Sample Input 3
ABCDE
FGHIJ
KLMNO
PQRS
TUVWX
AAAAABBRRRLL0
Sample Output 3
61
BI TP K THUT LP TRNH Vesion 1.0
Input
Mt dng duy nht cha chui di chuyn, mi k t c th l:
- L nu di chuyn sang tri
- R nu di chuyn sang phi
- ? nu khng xac nh.
Output IT
Khong cch xa nht n v tr ban u.
V d:
Input:
T
LLLRLRRR
Output:
P
3
Input:
R???L
Output:
4
62
BI TP K THUT LP TRNH Vesion 1.0
BAI 2.3.10:
Cho dy A[] gm N s t nhin khc nhau v s t nhin K. Hy s dng thut ton quay
lui vit chng trnh lit k tt c cc dy con ca dy s A[] sao cho tng cc phn t
trong dy con ng bng K. D liu vo cho bi file dayso.in theo khun dng sau:
Dng u tin ghi li s t nhin N l s cc s ca dy s A[] v s t nhin K,
hai s c vit cch nhau bi mt vi khong trng;
Dng k tip ghi li N s ca dy s A[], hai s c vit cch nhau mt vi
khong trng.
Cc dy con tho mn iu kin tm c ghi li trong file ketqua.out theo khun dng sau:
Dng u tin ghi li s cc dy con c tng cc phn t ng bng K tm c;
Nhng dng k tip mi dng ghi li mt dy con. Hai phn t khc nhau ca dy
con c vit cch nhau bi mt vi khong trng.
Dayso.in Ketqua.out
5 50
IT 3
10 15 25
5 10 15 20 25 5 20 25
T
5 10 15 20
P
BAI 2.3.11:
Cho ma trn vung C = (cij) cp N (1 i, j N100) gm N2 s t nhin (cc s khng nht
thit phi khc nhau) ghi li trong file matran.in theo khun dng sau :
Dng u tin ghi li s t nhin N l cp ca ma trn vung C;
N dng k tip ghi li ma trn vung C = (cij). Hai phn t khc nhau ca ma trn
c ghi cch nhau bi mt vi khong trng.
Hy s dng thut ton quay lui vit chng trnh ly trn mi hng, mi ct duy nht
mt phn t ca ma trn C sao cho tng cc phn t ny l nh nht. Kt qu tm c
ghi li trong file ketqua.out theo khun dng:
Dng u tin ghi li tng gi tr nh nht ca N phn t tm c;
N dng k tip, mi dng ghi li ba s i, j, cij tng ng vi ch s hng, ch s ct
v gi tr phn t tng ng ca ma trn. Ba s c vit cch nhau mt vi khong
trng.
63
BI TP K THUT LP TRNH Vesion 1.0
matran.in ketqua.out
6 82
10 64 57 29 18 15 1 1 10
34 20 19 30 16 12 2 6 12
57 49 40 16 11 19 3 4 16
29 21 46 26 21 18 4 5 21
28 16 11 21 21 37 5 3 11
15 12 15 48 37 30 6 2 12
BAI 2.3.12:
Cho dy gm N s nguyn phn bit A[] = {a1, a2, .., aN } v s t nhin K ( KN100).
Hy s dng thut ton quay lui vit chng trnh lit k tt c cc dy con K phn t gim
dn t nhin ca dy s A[]. D liu vo cho bi file dayso.in theo khun dng sau:
Dng u tin ghi li hai s t nhin N, K. Hai s c vit cch nhau mt vi khong
trng;
IT
Nhng dng k tip ghi li N s nguyn ca dy s A[], hai s khac nhau c vit
cch nhau mt vi khong trng.
Cc dy con K phn t tng dn ca dy s A[] tm c ghi li trong file ketqua.out
T
theo khun dng:
Dng u tin ghi li s t nhin M l s cc dy con K phn t tng dn ca dy
s A[] tm c;
P
M dng k tip, mi dng ghi li mt dy con. Hai phn t khc nhau ca dy con
c vit cch nhau bi mt vi khong trng.
V d vi file dayso.in di y s cho ta file ketqua.out tng ng.
dayso.in ketqua.out
5 3 7
2 5 15 10 20 2 5 15
2 5 10
2 5 20
2 15 20
2 10 20
5 15 20
5 10 20
64
BI TP K THUT LP TRNH Vesion 1.0
ABC.INP ABC.OUT
10 ABACABCBAB
C Letter Count : 2
65
BI TP K THUT LP TRNH Vesion 1.0
BAI 2.4.7:
T
Cho dy A[] gm N s t nhin khc nhau v s t nhin K. Hy s dng thut ton quay
lui nhnh cn vit chng trnh lit k tt c cc dy con ca dy s A[] sao cho tng cc
P
phn t trong dy con ng bng K. D liu vo cho bi file dayso.in theo khun dng
sau:
Dng u tin ghi li s t nhin N l s cc s ca dy s A[] v s t nhin K,
hai s c vit cch nhau bi mt vi khong trng;
Dng k tip ghi li N s ca dy s A[], hai s c vit cch nhau mt vi
khong trng.
Cc dy con tho mn iu kin tm c ghi li trong file ketqua.out theo khun dng sau:
Dng u tin ghi li s cc dy con c tng cc phn t ng bng K tm c;
Nhng dng k tip mi dng ghi li mt dy con. Hai phn t khc nhau ca dy
con c vit cch nhau bi mt vi khong trng.
Dayso.in Ketqua.out
66
BI TP K THUT LP TRNH Vesion 1.0
5 50 3
10 15 25
5 10 15 20 25 5 20 25
5 10 15 20
BAI 2.4.8:
Cho ma trn vung C = (cij) cp N (1 i, j N100) gm N2 s t nhin (cc s khng nht
thit phi khc nhau) ghi li trong file matran.in theo khun dng sau :
Dng u tin ghi li s t nhin N l cp ca ma trn vung C;
N dng k tip ghi li ma trn vung C = (cij). Hai phn t khc nhau ca ma trn
c ghi cch nhau bi mt vi khong trng.
Hy s dng thut ton quay lui nhnh cn vit chng trnh ly trn mi hng, mi
ct duy nht mt phn t ca ma trn C sao cho tng cc phn t ny l nh nht. Kt qu
tm c ghi li trong file ketqua.out theo khun dng:
IT
Dng u tin ghi li tng gi tr nh nht ca N phn t tm c;
N dng k tip, mi dng ghi li ba s i, j, cij tng ng vi ch s hng, ch s ct
v gi tr phn t tng ng ca ma trn. Ba s c vit cch nhau mt vi khong
trng.
T
matran.in ketqua.out
6 82
10 64 57 29 18 15 1 1 10
34 20 19 30 16 12 2 6 12
57 49 40 16 11 19 3 4 16
29 21 46 26 21 18 4 5 21
28 16 11 21 21 37 5 3 11
15 12 15 48 37 30 6 2 12
67
BI TP K THUT LP TRNH Vesion 1.0
Gm Q dng, mi dng cha 1 s nguyn, l chnh lch chiu cao gia con b thp
nht v cao nht thuc on tng ng.
P
Vi d:
Input.txt Output.txt
63 6
1 3
7 0
3
4
2
5
15
46
22
68
BI TP K THUT LP TRNH Vesion 1.0
INPUT OUTPUT
11 IT 4
88 99 11 22 22 33 11 66 33 44 77
BAI 2.5.3: O
T
69
BI TP K THUT LP TRNH Vesion 1.0
Vi d
INPUT OUTPUT
Begin 4
end
Output:
Vi mi b test, in ra mn hnh s cac dy con tng dn t nhin bc K ca dy
s AN.
Vi d:
Input: Output:
2 7
53
1
2 5 15 10 20
53
2 20 10 15 5
70
BI TP K THUT LP TRNH Vesion 1.0
IT
T
P
71
BI TP K THUT LP TRNH Vesion 1.0
1 2 3 1 2 3
Yu cu:
IT
Vit chng trnh nhp vo s a n, thc hin cac bc di chuyn cac a, mi bc di
chuyn cho bit ct ngun (ct ly a) v ct ch (ct t a). Gii thut di chuyn khng
quy, dng stack cha thng tin tm thi trong qua trnh di chuyn.
Sinh vin ci t stack dng danh sach lin kt, mi node phn info cha 3 thng tin {s
T
Nh chng ta bit bi toan thap Hanoi thng c gii bng phng phap quy. Tuy
nhin c th gii bng cach dng stack kh quy. thc hin vic lu tr tm trong
qua trnh di chuyn chng ta dng mt stack. Trong mi phn t ca stack ny cha cac
thng tin gm: s a di chuyn (N), ct ngun bt u di chuyn (Nguon) v ct ch l
ni cn di chuyn n (Dich). y khng cn lu ct trung gian v c 3 ct anh s l 1,
2 v 3 th ct trung gian di chuyn l: 6 (Nguon+Dich).
u tin a vo stack thng tin di chuyn {n, 1, 2}, tc l di chuyn n a t ct 1 sang
ct th 2 qua ct trung gian l 6-(1+2) = 3.
Ti mi bc khi ly trong stack ra mt phn t. chng ta thc hin nh sau: Nu N = 1:
di chuyn a t ct Nguon -> ct Dich.
Ngc li (nu N > 1):
72
BI TP K THUT LP TRNH Vesion 1.0
73
BI TP K THUT LP TRNH Vesion 1.0
</form >
</ div>
Hy vit chng trnh c vo 1 file .html v kim tra xem trong file c th no b li
hay khng?
BAI 3.1.5: S DNG CU TRC STACK CHUYN MT S THP PHN SANG DANG
NH PHN ?
74
BI TP K THUT LP TRNH Vesion 1.0
Output:
yes
yes
no
no
no
yes
yes
75
BI TP K THUT LP TRNH Vesion 1.0
76
BI TP K THUT LP TRNH Vesion 1.0
class stack
{
int data[10];
int top;
public :
stack(){top=-1;}
void push();
void pop();
}
BAI 3.1.9:
S dng stack tnh biu thc hu t sau v ch ra ni dung ca stack sau khi chy mi
lnh. Khng cn vit code. Gi s rng bn ang s dng hm push v pop ca lp stack.
AB-CD+E*+ (vi A=5, B=3, C=5, D =4, v E=2)
IT
BAI 3.1.10:
Tnh biu thc hu t sau y s dng stack v ch ra ni dung stack sau mi lnh:
T
BAI 3.1.11:
Tnh biu thc hu t sau y s dng stack v ch ra ni dung stack sau mi lnh:
TRUE, FALSE, TRUE, FALSE, NOT, OR, TRUE, OR, OR, AND
BAI 3.1.12:
S dng cu trc d liu mng (ngn xp), hy vit chng trnh chuyn i s t nhin n
thnh s h c s b (2b32).
D liu vo (Input) cho bi file data.in theo khun dng:
Dng u tin ghi li s t nhin K l s lng cc test (k100).
K dng k tip ghi li mi dng mt test. Mi test bao gm mt cp s n, b. Hai
s c vit cch nhau mt vi khong trng.
77
BI TP K THUT LP TRNH Vesion 1.0
Input.in Output.out
5 8 2 1000
8 2 32 16 20
32 16 255 16 FF
255 16 100 10 100
100 10 64 32 20
64 32
IT
BAI 3.1.13:
S dng cu trc d liu ngn xp, hy vit chng trnh tm s cc s t nhin N tha
mn ng thi nhng iu kin di y (N231):
T
N l s c K ch s (K15).
N l s thun nghch (s i xng).
P
Input.in Output.out
3 8 2 1000
8 2 32 16 20
78
BI TP K THUT LP TRNH Vesion 1.0
32 16 255 16 FF
255 16
BAI 3.1.14:
S dng cu trc d liu ngn xp, hy vit chng trnh tm s cc s t nhin N tha
mn ng thi nhng iu kin di y (N231):
N l s c K ch s (K15).
N l s thun nghch (s i xng).
Chuyn i N thnh s h c s B cng l mt s thun nghch (2N512).
Thi gian thc hin chng trnh khng qua 1sec.
D liu vo (Input) cho bi file data.in theo khun dng:
Dng u tin ghi li s t nhin M l s lng cc test (M100).
M dng k tip ghi li mi dng mt test. Mi test bao gm mt cp s N, B.
Hai s c vit cch nhau mt vi khong trng.
IT
Kt qu ra (Output): ghi li M dng trong file ketqua.out, mi dng ghi li b ba s N,
B, X. Trong X l s cc s c N ch s h c s B tha mn yu cu ca bi ton. V
d di y minh ha cho file input v output ca bi ton.
T
Input.in Output.out
P
3 2 2 2
2 2 2 3 0
2 3 5 16 6
5 16
BAI 3.1.15:
Cho file d liu trungto.in theo khun dng sau:
Dng u tin ghi li s t nhin N l s cc biu thc s hc c biu din di
dng trung t;
N dng k tip, mi dng ghi li mt biu thc trung t.
79
BI TP K THUT LP TRNH Vesion 1.0
Hy s dng cu trc d liu kiu ngn xp vit chng trnh dch chuyn cc biu thc
trung t trong file trungto.in thnh file hauto.out. Cc biu thc hu t dch chuyn c
ghi li trong file hauto.out theo khun dng sau:
Dng u tin ghi li s t nhin N l s cc biu thc hu t dch chuyn c;
N dng k tip, mi dng ghi li mt biu thc hu t.
trungto.in hauto.out
4 4
(a+b) ab+
(a-b) ab
(a/b) ab/
(a*b) ab*
(a + b) * ( a b) ab+ab-*
BAI 3.1.16:
IT
Cho file d liu hauto.in theo khun dng sau:
Dng u tin ghi li s t nhin N l s cc biu thc s hc c biu din di
T
dng hu t;
N dng k tip, mi dng ghi li mt biu thc hu t.
P
Hy s dng cu trc d liu kiu ngn xp vit chng trnh tnh toan gia tr ca cc
biu thc hu t trong file hauto.in. Cc biu thc hu t dch chuyn c ghi li trong
file ketqua.out theo khun dng sau:
Dng u tin ghi li s t nhin N l s cc biu thc hu t;
N dng k tip, mi dng ghi li gi tr ca mt biu thc hu t trong file.
hauto.out ketqua.out
4 4
3 2 + 5
3 2 1
3 2 / 1
3 2 * 6
3 2 + 3 2 5
- *
80
BI TP K THUT LP TRNH Vesion 1.0
Vit chng trnh qun l kho n gin thc hin cc chc nng sau:
1. Cho php thm mt mt hng vo kho
P
81
BI TP K THUT LP TRNH Vesion 1.0
BAI 3.2.3:
Nhp vo queue 1 mng cc nhn vin bao gm cc thng tin sau : m nhn vin, h tn
nhn vin, h s lng v in thng tin cc nhn vin ny ra mn hnh.
2 to 6; 6 to 3; 4 to 5; 5 to 2; 7 to 4; 8 to 1
P
Th ta c hng i mi s l:
Item8 Item5 Item6 Item7 Item4 Item2 Item1 Item3
Ch : trong chui thao tac th khng c c hai thao tac no trng nhau. Cac thao tac
thc hin ng thi v phn t no c di chuyn n v tr mi th bt buc phi v tr
sau khi hon thnh, cac phn t khac khng lin quan c y sang cac v tr cn li
nhng vn gi th t trc sau nh lc u. Nh trong v d trn, v tr 7,8 khng c
phn t no di chuyn n nn hai item cn li l 1 v 3 (l cc v tr khng b di chuyn
i) s v tr .
Bi toan t ra l cho trc hng i v chui thao tac di chuyn, hy xac nh hng i
kt qu.
Input:
Dng u ghi s b test khng qua 100. Mi b test gm:
82
BI TP K THUT LP TRNH Vesion 1.0
86
abcdefgh
P
26
63
45
52
74
81
32
foo bar baz
3 11 3
Output:
alpha epsilon beta gamma delta
h e f g d b a cbaz bar foo
83
BI TP K THUT LP TRNH Vesion 1.0
BAI 3.2.5:
Vit chng trnh con thm mt phn t trong danh sach c th t sao cho ta vn c
mt danh sach c th t bng cach vn dng cac php toan c bn trn danh sach.
BAI 3.2.6:
Vit chng trnh con tm kim v xa mt phn t trong danh sach c th t.
BAI 3.2.7:
Vit chng trnh con nhn vo t bn phm mt dy s nguyn, lu tr n trong mt danh
sach c th t khng gim, theo cach sau: vi mi phn t c nhp vo chng trnh
con phi tm v tr thch hp xen n vo danh sach cho ng th t. Vit chng trnh
con trn cho trng hp danh sach c ci t bng mng v ci t bng con tr v trong
trng hp tng quat (dng cac php toan c bn trn danh sach).
IT
BAI 3.2.8:
T
Vit chng trnh con loi b cac phn t trng nhau (gi li duy nht 1 phn t) trong mt
danh sach c th t khng gim, trong hai trng hp: ci t bng mng v ci t bng
con tr.
P
BAI 3.2.9:
Vit chng trnh con nhn vo t bn phm mt dy s nguyn, lu tr n trong mt danh
sach c th t tng khng c hai phn t trng nhau, theo cach sau: vi mi phn t c
nhp vo chng trnh con phi tm kim xem n c trong danh sach cha, nu cha c th
xen n vo danh sach cho ng th t. Vit chng trnh con trn cho trng hp danh
sach c ci t bng mng v ci t bng con tr.
BAI 3.2.10:
Vit chng trnh con trn hai danh sach lin kt cha cac s nguyn theo th t tng
c mt danh sach cng c th t tng.
84
BI TP K THUT LP TRNH Vesion 1.0
BAI 3.2.11:
Vit chng trnh con xoa khi danh sach lu tr cac s nguyn cac phn t l s nguyn
l, cng trong hai trng hp: ci t bng mng v bng con tr.
BAI 3.2.12:
Vit chng trnh con tach mt danh sach cha cac s nguyn thnh hai danh sach: mt
danh sach gm cac s chn cn cai kia cha cac s l.
BAI 3.2.13:
Hnh di y biu din cho mng SPACE c 10 phn t dng biu din danh sach
bng con nhay (cursor) v hai danh sach L1 ; L2 ang c trong mng
IT
T
P
85
BI TP K THUT LP TRNH Vesion 1.0
BAI 3.2.14:
Cho cp s S v T l cc s nguyn t c 4 ch s (V d S = 1033, T = 8197 l cc s
nguyn t c 4 ch s). S dng hng i, hy vit chng trnh tm cach dch chuyn S
thnh T tha mn ng thi nhng iu kin di y:
Mi php dch chuyn ch c php thay i mt ch s ca s bc trc
(v d nu S=1033 th php dch chuyn S thnh 1733 l hp l);
S nhn c cng l mt s nguyn t c 4 ch s (v d nu S=1033 th php
dch chuyn S thnh 1833 l khng hp l, v S dch chuyn thnh 1733 l hp l);
S cac bc dch chuyn l t nht.
V d vi S = 1033, T = 8179 s c t nht 6 php dch chuyn nh sau:
1033 17333733 3739 3779 877981779 .
Input:
Dng u tin ghi s b test, khng ln hn 100. Mi b test vit trn mt dng hai s
nguyn t c 4 ch s.
Output:
IT
Vi mi b test, vit ra trn mt dng s bc ca ng nguyn t ngn nht.
V d cho Input v Output:
INPUT OUTPUT
T
3 6
1033 8179 7
P
1373 8017 0
1033 1033
86
BI TP K THUT LP TRNH Vesion 1.0
BAI 3.3.2:
lu tr mt s nguyn ln, ta c th dng danh sach lin kt cha cac ch s ca n.
Hy tm cach lu tr cac ch s ca mt s nguyn ln theo tng trn sao cho vic cng
IT
hai s nguyn ln l d dng thc hin. Vit chng trnh con cng hai s nguyn ln.
BAI 3.3.3:
T
tin cho vic truy nhp vo danh sach, ngi ta t chc danh sach lin kt c dng sau,
gi l danh sach ni vng:
P
Hy vit khai bao v cac chng trnh con c bn ci t mt danh sach ni vng.
BAI 3.3.4:
Hy ci t mt ngn xp bng cach dng con tr.
a. Dng ngn xp vit chng trnh con i mt s thp phn sang s nh phn.
b. Vit chng trnh con/hm kim tra mt chui du ngoc ng (chui du ngoc ng
l chui du m ng khp nhau nh trong biu thc toan hc).
87
BI TP K THUT LP TRNH Vesion 1.0
BAI 3.3.5:
Ta c th ci t 2 ngn xp vo trong mt mng, gi l ngn xp hai u hot ng ca
hai ngn xp ny nh s sau:
IT
Hnh v mng cha 2 ngn xp
T
BAI 3.3.6:
M phng vic to buffer in mt file ra may in.
Buffer xem nh l mt hng, khi ra lnh in file may tnh s thc hin mt cach lp qua
trnh sau cho n ht file:
1. a ni dung ca tp tin vo buffer cho n khi buffer y hoc ht file.
2. In ni dung trong buffer ra may in cho ti khi hng rng.
3. Hy m phng qua trnh trn in mt file vn bn ln tng trang mn hnh.
88
BI TP K THUT LP TRNH Vesion 1.0
BAI 3.3.7:
Ci t danh sach lin kt kp vi cac php toan khi to danh sach rng, thm xoa mt
phn t.
BAI 3.3.8:
Danh sach lin kt kp ni vng c dng sau:
con chau ca c theo th t t tui cao xung thp. Gi s ta c thng tin v giy khai sinh
ca tng ngi . Mi giy khai sinh ch vit ba thng tin n gin gm: Tn ngi cha,
P
89
BI TP K THUT LP TRNH Vesion 1.0
Output
Vi mi b test, in ra mn hnh th t b test (xem thm trong b test v d), sau
ln lt l tng ngi trong danh sch tui t cao xung thp (khng tnh c Ted).
Mi ngi vit ra hai thng tin: tn, mt khong trng ri n tui ca ngi .
Nu hai ngi c cng tui th xp theo th t t in.
Vi d:
Input:
2
1
Ted Bill 25
4
Ray James 40 IT
James Beelzebub 17
Ray Mark 75
Ted Ray 20
T
Output:
P
DATASET 1
Bill 75
DATASET 2
Ray 80
James 40
Beelzebub 23
Mark 5
90
BI TP K THUT LP TRNH Vesion 1.0
BAI 3.3.10:
Ta nh ngha mt t l dy cc k t khng cha khong trng (space), du tab, du xung
dng (\n), du v u dng (\r) v du kt thc dng (\0). Tn xut xut hin ca t W
trong tp vn bn D1 v D2, k hiu l P(W) c tnh theo cng thc:
N1 (W ) N 2 (W )
P(W ) ; trong Ni(W) l s ln xut hin t W trong Di, N(Di) l tng
N ( D1 ) N ( D2 )
s t ca tp vn bn Di (i=1, 2).
Cho hai file vn bn data1.in v data2.in. S dng danh sch lin kt n (kp), hy tm
tp cc t v tn xut xut hin ca mi t trong c hai tp data1.in v data2.in. Tp cc t
tm c ghi li trong file Ketqua.out theo khun dng:
Dng u tin ghi li s t nhin K l s t W tm c theo yu cu ca bi ton.
K dng k tip, mi dng ghi li mt t W v tn xut xut hin P(W) tha mn yu
cu ca bi ton. W v P(W) c vit cch nhau bi mt vi khong trng.
V d vi file data1.in v data2.in di y s cho ta file Ketqua.out ca bi ton.
IT
data1.in data2.in Ketqua.out
T
AB AC AD AE AF AB AC AD AH AK 3
AB AC AD AE AF AB AC AD AH AK AB 0.2
P
AC 0.2
AD 0.2
BAI 3.3.11:
Cho tp cc s t nhin trong file data.in c ghi theo tng dng, mi dng ghi nhiu nht
5 s, hai s c vit cch nhau mt vi khong trng. Bit rng, mi s t nhin trong file
data.in hoc l s nguyn t, hoc l s thun nghch v c th xut hin nhiu ln nhng
v tr khc nhau trong file. S dng cu trc d liu danh sch lin kt n (kp), hy vit
chng trnh tach tp cc s v m s ln xut hin ca mi s trong file data.in thnh 3
file ketqua1.out, ketqua2.out, ketqua3.out tha mn nhng yu cu di y.
a) File ketqua1.out ghi li cc s nguyn t nhng khng l s thun nghch cng vi
s ln xut hin ca n trong file data.in;
91
BI TP K THUT LP TRNH Vesion 1.0
BAI 3.3.12:
IT
Cho tp cc s t nhin trong file data.in c ghi theo tng dng, mi dng ghi nhiu nht
5 s, hai s c vit cch nhau mt vi khong trng. Bit rng, mi s t nhin trong file
data.in hoc l s nguyn t, hoc l s thun nghch v c th xut hin nhiu ln nhng
v tr khc nhau trong file. S dng cu trc d liu danh sch lin kt n (kp), hy vit
T
BAI 3.3.13:
Cho hai a thc A bc n v a thc B bc m c ghi li tng ng trong file dathuc1.in
v dathuc2.in theo khun dng sau:
Dng u tin ghi li s t nhin K l s cc s hng ca a thc;
K dng k tip, mi dng ghi li h s v s m ca s hng hng a thc.
Hy s dng danh sch lin kt n trnh tnh tng hai a thc A v B v ghi li a
thc kt qu vo file ketqua.out theo khun dng nh trn. V d vi a thc
Pn ( x) 10 x 30000 5 x1000 3x 2 3
Qm ( x) 8 x 20000 3x1000 3x 500 7 x100 6 x
s c biu din v tnh ton cho ra file kt qu sau
BAI 3.3.14:
Cho hai a thc A bc n v a thc B bc m c ghi li tng ng trong file dathuc1.in
v dathuc2.in theo khun dng sau:
Dng u tin ghi li s t nhin K l s cc s hng ca a thc;
K dng k tip, mi dng ghi li h s v s m ca s hng hng a thc.
Hy s dng danh sch lin kt n vit chng trnh tnh hiu hai a thc A v B
v ghi li a thc kt qu vo file ketqua.out theo khun dng nh trn. V d vi a thc
Pn ( x) 10 x 30000 5 x1000 3x 2 3
Qm ( x) 8 x 20000 3x1000 3x 500 7 x100 6 x
s c biu din v tnh ton cho ra file kt qu sau
93
BI TP K THUT LP TRNH Vesion 1.0
{
THN ( n 1 , X , Z , Y ) ;
P
Move ( X , Z ) ;
THN ( n 1 , Y , X , Z ) ;
}
Vi n l s a, X l ct u, Z l ct cui, Y l ct gia, Move(X, Z) l cc thao
tac chuyn 1 a t ct X ti ct Z.
Trong trng hp ny:
X l b (n, X, Y, Z).
C(X) l biu thc boolean (n <= 0).
D(X), A(X) l thao tac rng.
B(X) = B(n, X, Y, Z) l thao tc Move(X, Z).
94
BI TP K THUT LP TRNH Vesion 1.0
}
until ( k = 1 ) ;
P
95
BI TP K THUT LP TRNH Vesion 1.0
return 1;
else
return (Fibo(n-2)+Fibo(n-1));
}
BAI 3.4.7:
Cho dy Wn = x0x1...xn vi:
x0 = 0
96
BI TP K THUT LP TRNH Vesion 1.0
97
BI TP K THUT LP TRNH Vesion 1.0
BAI 4.1.6:
m s lng cac node c ng k con (k l s nguyn bt k c nhp vo).
BAI 4.1.7:
Vit hm m s lng nt l m thng tin ti nt l gia tr chn.
BAI 4.1.8:
Vit hm m s lng nt c ng 1 con m thng tin ti nt l s nguyn t.
BAI 4.1.9:
Vit hm m s lng nt c ng 2 con m thng tin ti nt l s chnh phng.
BAI 4.1.10:
Vit hm m s lng nt trn tng th k ca cy
98
BI TP K THUT LP TRNH Vesion 1.0
BAI 4.1.11:
Vit hm m s lng nt nm tng cao hn tng th k ca cy
BAI 4.1.12:
Vit hm tnh tng cc nt trong cy
BAI 4.1.13:
Vit hm tnh tng cc nt l trong cy
BAI 4.1.14:
Vit hm tnh tng cac nt c ng mt con
BAI 4.1.15:
Vit hm tnh tng cac nt c ng hai con
BAI 4.1.16:
Vit hm tnh tng cc nt l m thng tin ti nt l gia tr chn
IT
BAI 4.1.17:
Vit hm tnh tng cac nt c ng 1 con m thng tin ti nt l s nguyn t
T
BAI 4.1.18:
Vit hm tnh chiu cao cy
P
BAI 4.1.19:
Vit hm xa tt c cc nt c bc cao hn k
BAI 4.1.20:
Cho m,n l hai node trn cy. Vit hm kim tra xem liu m l node bn phi hay
bn trai ca n trn cy.
BAI 4.1.21:
Thng tin v mt th sinh bao gm: s bo danh (kiu k t) v im thi (kiu thc) trong
s bao danh l trng kha. CHo danh sach th sinh nh sau:
(G,18);(D,30);(B,15);(M,19);(I,27);(P,30);(F,5);(C,23);(L,15);(N,10); (E,16);(R,25).
a. Khai bo cu trc d liu cy nh phn (dng con tr) lu tr danh sch th sinh
trn.
99
BI TP K THUT LP TRNH Vesion 1.0
i) Xa nt c gia tr x.
P
BAI 4.2.2:
Cho mt cy nh phn tm kim. Mi node trn cy c info l mt s nguyn v lin kt
ch n cy con tri v cy con phi.
a. Tnh s node, s node l, s node nhnh trn cy.
b. Tnh chiu cao ca cy.
c. Tnh di ca cy.
d. Tnh tng gi tr ca cc node trn cy.
e. Nhp vo mt s nguyn x. Vit th tc tm x trn cy . Nu tm thy hy in ra
mn hnh gi tr ca cc node ln hn x.
f. Duyt cy nh phn theo cac phng phap NLR, LNR, LRN.
100
BI TP K THUT LP TRNH Vesion 1.0
BAI 4.2.3:
Vit hm kim tra cy nh phn T c phi l "cy nh phn tm kim" hay khng?
BAI 4.2.4:
Vit chng trnh qun l lch cng tc trong thng n gin: cho php nhp vo ni dung
cng vic cn lm theo ngy, theo gi. Trong mt ngy c th c nhiu cng vic, mi
cng vic c gi bt u , tn cng vic, ni dung cng vic, tnh cht cng vic {rt quan
trng, quan trng, bnh thng, ko cn thit}
Chng trnh c cac chc nng chnh nh sau:
Nhp ni dung cng vic cn lm theo ngy, theo gi
Xem lch cng tac theo ngy yu cu
Xem cc cng vic theo tnh cht: rt quan trng, quan trng
Xem cac cng vic hon tt IT
Xem cac cng vic ch a thc hin
Xem cac cng vic t ngy a n ngy b
Xa hay iu chnh lch cng tac. Nu sau khi iu chnh, ngy no khng cn vic
T
101
BI TP K THUT LP TRNH Vesion 1.0
102
BI TP K THUT LP TRNH Vesion 1.0
BAI 4.2.5:
Xt thut gii to cy nh phn tm kim. Nu th t cac khoa nhp vo
l nh sau:8, 3, 5, 2, 20, 11, 30, 9, 18, 4 th hnh nh cy to c nh th no ?
sau , nu hy ln lt cac nt 5, 20 ( theo th t ) th cy s thay i nh th
no trong tng bc hy (v li cy cho mi bc).
BAI 4.2.6:
Hy a ra mt ci t quy ca thut toan nh phn tm kim.
BAI 4.2.7:
Gi s a[i] = 2i vi 1 < = i < = N. C bao nhiu v tr trong bng c kim tra
khi dng tm kim ni suy trong trng hp tm kim khng thnh cng cho 2k -
1?
BAI 4.2.8:
V ra cy nh phn tm kim c c khi chn cac mu tin vi cac kha E A S Y
IT
Q U E T I O N vo mt cy rng khi to.
BAI 4.2.9:
Hy sa cy nh phn tm kim sao cho n lu tt c cac kha bng nhau trong
T
cy. (nu by k node khac trong cy c cng kha vi mt node cho th hoc
cha ca n hoc mt trong cac con ca n nn c cng kha.)
P
BAI 4.2.10:
Vit mt chng trnh khng quy in ra cac kha trong cy nh phn tm kim
theo th t ca kha.
BAI 4.2.11:
V mt cy nh phn tm kim c c khi chn cac mu tin vi cac kha E A S Y
Q U E T I O N vo mt cy rng khi to, v tip xa Q.
BAI 4.2.12:
Ta nh ngha mt t l dy cc k t khng cha khong trng (space), du tab, du xung
dng (\n), du v u dng (\r) v du kt thc dng (\0). Tn xut xut hin ca t W
trong tp vn bn D1 v D2, k hiu l P(W) c tnh theo cng thc:
103
BI TP K THUT LP TRNH Vesion 1.0
N1 (W ) N 2 (W )
P(W ) ; trong Ni(W) l s ln xut hin t W trong Di, N(Di) l tng
N ( D1 ) N ( D2 )
s t ca tp vn bn Di (i=1, 2).
Cho hai file vn bn data1.in v data2.in. S dng cy nh phn tm kim, hy tm tp
cc t v tn xut xut hin ca mi t hoc xut hin trong data1.in hoc xut hin trong
data2.in. Tp cc t tm c ghi li trong file Ketqua.out theo khun dng:
Dng u tin ghi li s t nhin K l s t W tm c theo yu cu ca bi ton.
K dng k tip, mi dng ghi li mt t W v tn xut xut hin P(W) tha mn yu
cu ca bi ton. W v P(W) c vit cch nhau bi mt vi khong trng.
V d vi file data1.in v data2.in di y s cho ta file Ketqua.out ca bi ton.
AB AC AD AE AF AB AC AD AH AK 7
AB AC AD AE AF AB AC AD AH AK AB 0.2
IT AC 0.2
AD 0.2
AE 0.1
T
AF 0.1
AH 0.1
P
AK 0.1
BAI 4.2.13:
Ta nh ngha mt t l dy cc k t khng cha khong trng (space), du tab, du xung
dng (\n), du v u dng (\r) v du kt thc dng (\0). Tn xut xut hin ca t W
trong tp vn bn D1 v D2, k hiu l P(W) c tnh theo cng thc:
N1 (W ) N 2 (W )
P(W ) ; trong Ni(W) l s ln xut hin t W trong Di, N(Di) l tng
N ( D1 ) N ( D2 )
s t ca tp vn bn Di (i=1, 2).
Cho hai file vn bn data1.in v data2.in. S dng cy nh phn tm kim, hy tm tp
cc t v tn xut xut hin ca cc t xut hin trong file data1.in nhng khng xut hin
trong file data2.in. Tp cc t tm c ghi li trong file Ketqua.out theo khun dng:
104
BI TP K THUT LP TRNH Vesion 1.0
AB AC AD AE AF AB AC AD AH AK 2
AB AC AD AE AF AB AC AD AH AK AE 0.1
AF 0.1
BAI 4.2.14:
Ta nh ngha mt t l dy cc k t khng cha khong trng (space), du tab, du xung
IT
dng (\n), du v u dng (\r) v du kt thc dng (\0). Tn xut xut hin ca t W
trong tp vn bn D1 v D2, k hiu l P(W) c tnh theo cng thc:
N1 (W ) N 2 (W )
P(W ) ; trong Ni(W) l s ln xut hin t W trong Di, N(Di) l tng
N ( D1 ) N ( D2 )
T
s t ca tp vn bn Di (i=1, 2).
Cho hai file vn bn data1.in v data2.in. S dng cy nh phn tm kim, hy tm tp
P
AB AC AD AE AF AB AC AD AH AK 3
AB AC AD AE AF AB AC AD AH AK AB 0.2
AC 0.2
105
BI TP K THUT LP TRNH Vesion 1.0
AD 0.2
BAI 4.3.5:
Ti sao cac B-cy t trn xung tt hn cac B-cy t di ln i vi vic truy
xut ng hnh ti d liu? (v d, gi s hai chng trnh chn cng mt node mi
vo cng mt thi im.)
4.4. Cy cn bng
BAI 4.4.1:
Cho mt cy nh phn T, mi nt l mt s nguyn. Hy vit cc hm thc
hin cc yu cu sau:
a.Hy m s nt ca cy.
106
BI TP K THUT LP TRNH Vesion 1.0
4.5. Cy en
IT
BAI 4.5.1:
V cy en c c khi chn cac k t t A n K theo th t v m t ni chung
iu g xy ra khi cac kha c chn vo theo th t tng.
T
BAI 4.5.2:
P
Thng thng c bao nhiu lin kt ca cy phi b thay i vi mt thao tac quay
kp, v bao nhiu b thay i trong mt ci t cho.
BAI 4.5.3:
Hy phat sinh hai cy en ngu nhin 32 node, v chng v so sanh chng vi
vi cac cy tm kim nh phn khng cn bng c xy dng vi cng mt tp hp
kha .
BAI 4.5.4:
Hy phat sinh 10 cy en ngu nhin 1000 node. Tnh s php quay cn thit
xy dng cac cy v khong cach trung bnh t node gc ti mt node ngoi cho
mi cy. Tho lun cac kt qu.
107
BI TP K THUT LP TRNH Vesion 1.0
BAI 4.5.5:
Vi mt bit mu cho mi node, chng ta c th biu din 2 node, 3 node, 4 node.
Bao nhiu dng node khac nhau c th c nu chng ta dng 2 bit cho mi node.
BAI 4.5.6:
Cac thao tac quay c i hi trong cy en khi cac 3 node b i thnh 4 node
bi mt phng phap khng cn bng. Ti sao ta khng kh b cac php quay
bng cach cho php cac 4 node c biu din nh 3 node bt k c ni bng
hai lin kt (hon ton cn bng hay khng)?
BAI 4.5.7:
Hy cho mt dy thao tac chn m s xy dng cy en c ch trong hnh
sau:
IT
T
P
4.6. Cy quyt nh
4.7. Cy m tin t
108
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.1.6:
Hy cho v d mt th khng th v c ra giy m khng c hai cnh ct nhau.
P
BAI 5.1.7:
Vit mt chng trnh xa i mt cnh khi mt th c biu din bi xu
k.
BAI 5.1.8:
Vit th tc adjlist duy tr cac xu k theo th t ca ch s nh. Tho lun v
u im ca cach tip cn ny.
BAI 5.1.9:
Cho th v hng G =<V,E> gm N nh v M cnh c biu din di dng danh
sch k trong file dske.in theo khun dng sau:
Dng u tin ghi li s t nhin N l s nh ca th;
109
BI TP K THUT LP TRNH Vesion 1.0
N dng k tip mi dng ghi li danh sch k ca nh tng ng. Hai nh trong
cng mt danh sch k c phn bit vi nhau bng mt hoc vi k t trng, nh
khng c cnh ni vi n (nh c lp) c ghi gi tr 0.
Hy vit chng trnh chuyn i biu din th G di dng danh sch k thnh
biu din ca th G di dng ma trn k v danh sch cnh. Khun dng biu din
th G di dng ma trn k, danh sch k c ghi li trong file mtke.out v dscanh.out
theo khun dng sau:
Khun dng file mtke.out:
Dng u tin ghi li s t nhin n l s nh ca th;
N dng k tip ghi li ma trn k ca th, hai phn t khc nhau ca ma trn
k c ghi cch nhau bi mt vi k t trng.
Khun dng file dscanh.out
Dng u tin ghi li s t nhin N v M tng ng vi s nh v s cnh ca
th, hai s c ghi cch nhau bi mt vi k t trng;
M dng k tip mi dng ghi li mt cnh ca th, nh u v nh cui ca
IT
mi cnh c ghi cch nhau bi mt vi k t trng.
V d th gm 5 nh, 5 cnh c biu din trong file dske.in nh di y s cho ta
cac file mtke.out v dscanh.out tng ng.
T
5 5 5 4
2 3 0 1 1 0 0 1 2
1 4 1 0 0 1 0 1 3
1 5 1 0 0 0 1 2 4
2 0 1 0 0 0 3 5
3 0 0 1 0 0
BAI 5.1.10:
Cho th c hng G =<V,E> gm N nh v M cnh c biu din di dng danh
sch k trong file dske.in theo khun dng sau:
Dng u tin ghi li s t nhin N l s nh ca th;
110
BI TP K THUT LP TRNH Vesion 1.0
N dng k tip mi dng ghi li danh sch k ca nh tng ng. Hai nh trong
cng mt danh sch k c phn bit vi nhau bng mt hoc vi k t trng, nh
khng c cnh ni vi n (nh c lp) c ghi gi tr 0.
Hy vit chng trnh chuyn i biu din th G di dng danh sch k thnh
biu din ca th G di dng ma trn k v danh sch cnh. Khun dng biu din
th G di dng ma trn k, danh sch k c ghi li trong file mtke.out v dscanh.out
theo khun dng sau:
Khun dng file mtke.out:
Dng u tin ghi li s t nhin n l s nh ca th;
N dng k tip ghi li ma trn k ca th, hai phn t khc nhau ca ma trn
k c ghi cch nhau bi mt vi k t trng.
Khun dng file dscanh.out
Dng u tin ghi li s t nhin N v M tng ng vi s nh v s cnh ca
th, hai s c ghi cch nhau bi mt vi k t trng;
M dng k tip mi dng ghi li mt cnh ca th, nh u v nh cui ca
IT
mi cnh c ghi cch nhau bi mt vi k t trng.
V d th gm 5 nh, 5 cnh c biu din trong file dske.in nh di y s cho ta
cac file mtke.out v dscanh.out tng ng.
T
5 5 5 7
2 0 1 0 0 0 1 2
3 5 0 0 1 0 1 2 3
1 5 1 0 0 0 1 2 5
5 0 0 1 0 0 3 1
4 0 0 0 1 0 3 5
4 3
5 4
111
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.2.1:
Vit chng trnh tm kim trong th vi thut ton tm kim theo chiu su
quy.
BAI 5.2.2:
Vit chng trnh tm kim trong th vi thut ton tm kim theo chiu su khng
quy.
BAI 5.2.3:
Gi s thut toan tm kim u tin su DFS c ap dng vo cy tm kim nh
phn v cnh bn phi c ly trc khi ri mi nt. Cac nt c ving thm theo
th t nh th no?
BAI 5.2.4:
Hy v ra rng tm kim u tin su c c vi th v d bt k khi th tc
DFS qut qua cac nh theo th t o ngc (t V ti 1) cho c hai cach biu din.
IT
BAI 5.2.5:
Th tc visit c gi chnh xac bao nhiu ln trong tm kim DFS trn mt th
v hng (m theo s nh V, s cnh E, s thnh phn lin thng C)?
T
BAI 5.2.6:
P
112
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.2.10:
Vit chng trnh sinh mt th lin thng ngu nhin c V nh bng cach sinh
ra cac cp s nguyn t 1..V. c lng s cnh cn thit to ra mt th lin
thng theo V.
BAI 5.2.11:
Cho th v hng lin thng gm N nh G = <V,E>. S dng thut ton DFS, hy vit
chng trnh xy dng mt cy khung ca th bt u ti nh u. D liu vo cho bi
file dothi.in l biu din ca th di dng danh sch cnh theo khun dng sau:
Dng u tin ghi li ba s t nhin N, M v u tng ng vi s nh, s cnh ca
th v nh bt u xy dng cy khung. Ba s c vit cch nhau bi mt vi
khong trng.
M dng k tip, mi dng ghi li mt cnh ca th, nh u v nh cui ca
mi cnh c vit cch nhau mt vi khong trng.
IT
Cy khung xy dng t nh u tm c ghi li trong file cay.out theo khun dng sau:
Dng u tin ghi li s N, K tng ng vi s nh v s cnh ca cy khung.
Hai s c vit cch nhau mt vi k t trng;
T
K dng k tip ghi li mt cnh ca cy khung, nh u v nh cui ca mi
cnh c ghi cch nhau bi mt vi k t trng.
V d vi th G=<V,E> c t chc trong file dothi.in di y s cho ta file
P
dothi.in cay.out
5 8 1 5 4
1 2 1 2
1 3 2 3
1 4 3 4
1 5 4 5
2 3
2 5
3 4
4 5
113
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.2.12:
Cho th v hng lin thng gm N nh G = <V,E>. S dng thut ton DFS, hy vit
chng trnh xy dng mt cy khung ca th bt u ti nh u. D liu vo cho bi
file dothi.in l biu din ca th di danh sch k theo khun dng sau:
Dng u tin ghi li hai s t nhin N, u tng ng vi s nh ca th v nh
bt u xy dng cy khung. Hai s c vit cch nhau bi mt vi khong trng.
N dng k tip, mi dng ghi li danh sch k ca nh tng ng, hai nh khc
nhau ca cng mt danh sch k c ghi cch nhau bi mt vi k t trng.
Cy khung xy dng t nh u tm c ghi li trong file cay.out theo khun dng sau:
Dng u tin ghi li s N, M tng ng vi s nh v s cnh ca cy khung.
Hai s c vit cch nhau mt vi k t trng;
M dng k tip ghi li mt cnh ca cy khung, nh u v nh cui ca mi
cnh c ghi cch nhau bi mt vi k t trng. V d vi th G=<V,E> c
t chc trong file dothi.in di y s cho ta file cay.out tng ng.
cay.out
dothi.in
5 4
5
2
1
3 4 5
IT 1 2
1 3
1 4
1 3 5
1 5
1 2 4
T
1 3 5
1 2 4
P
114
BI TP K THUT LP TRNH Vesion 1.0
Output
P
115
BI TP K THUT LP TRNH Vesion 1.0
96
24
45
52
46
7 10
10 11
11 7
10 9
Output:
2
IT
Chn cc hc sinh 7 v 2.
T
BAI 5.3.2:
Cho th v hng G =<V,E>, trong V l tp nh, E l tp cnh. Ta gi cnh e thuc
P
E l cu nu khi loi b cnh s lm tng s thnh phn lin thng ca th. Hy s dng
biu din d liu v thut ton thch hp. Hy vit chng trnh tm tt c cc cnh cu ca
th. D liu vo cho bi file Dothi.in theo khun dng sau:
Dng u tin ghi li s t nhin n l s nh ca th.
n dng k tip ghi li ma trn k ca th, hai phn t khac nhau ca ma trn k c
vit cach nhau bi mt hoc vi k t trng.
Kt qu ra ghi li trong file Canhcau.out theo khun dng sau:
Dng u tin ghi li s cac cnh cu m bn tm c.
Nhng dng k tip mi dng ghi li mt cnh cu, nh u v nh cui ca cnh
c vit cach nhau bi mt vi k t trng.
V d di y s minh ha cho file Dothi.in v Canhcau.out:
116
BI TP K THUT LP TRNH Vesion 1.0
dothi.in canhcau.out
5 4
0 1 1 0 0 1 2
1 0 0 1 0 1 3
1 0 0 0 1 2 4
0 1 0 0 0 3 5
0 0 1 0 0
BAI 5.3.3:
IT
Cho th v hng G =<V,E>, trong V l tp nh, E l tp cnh. Ta gi nh v thuc V
l tr nu khi loi b nh u cng cac cnh ni vi u s lm tng s thnh phn lin thng
ca th. Hy s dng biu din d liu v thut toan thch hp, vit chng trnh tm tt
T
c nh tr ca th. D liu vo cho bi file Dothi.in theo khun dng sau:
Dng u tin ghi li s t nhin n l s nh ca th.
P
n dng k tip ghi li ma trn k ca th, hai phn t khac nhau ca ma trn k
c vit cach nhau bi mt hoc vi k t trng.
Kt qu ra ghi li trong file Canhcau.out theo khun dng sau:
Dng u tin ghi li s nh tr m bn tm c.
Dng k tip ghi li cac nh tr tm c, hai nh tr khc nhau c vit cach
nhau bi mt vi k t trng.
V d di y s minh ha cho file Dothi.in v Canhcau.out:
dothi.in dinhtru.out
117
BI TP K THUT LP TRNH Vesion 1.0
5 3
0 1 1 0 0 1 2 3
1 0 0 1 0
1 0 0 0 1
0 1 0 0 0
0 0 1 0 0
.#....
..#...
..#..#
...##.
.#....
Canh ng ny c 5 khm c: mt khm hng u tin, mt khm to bi hng th 2 v
th 3 ct th 2, mt khm l 1 k t nm ring r hng 3, mt khm to bi ct th 4
v th 5 hng 4, v mt khm cui cng hng 5.
D liu
Dng 1: 2 s nguyn cch nhau bi du cch: R v C
Dng 2..R+1: Dng i+1 m t hng i ca canh ng vi C k t, cc k t l #
hoc . .
118
BI TP K THUT LP TRNH Vesion 1.0
Kt qu
Dng 1: Mt s nguyn cho bit s lng khm c trn canh ng.
V d
D liu
56
.#....
..#...
..#..#
...##.
.#....
Kt qu
IT
5
T
thng u c th i li trc tip hoc gin tip vi nhau thng qua h thng cac ng hm.
Bi toan c t ra l cho trc mt h thng phng th, hy gip b i s dng ng 1
qu pho bn vo mt trong N im sao cho h thng b chia ct thnh nhiu mnh nht.
Input:
Dng u tin ghi s b test, khng ln hn 100. Mi b test c t chc theo
khun dng sau:
Dng u tin ghi li s t nhin N khng ln hn 100 l s im ca h thng
phng th.
Nhng dng k tip ghi li ma trn G = (gij) biu din h thng phng th,
trong gij=0 c hiu l khng c ng hm trc tip ni gia im i v
j, gij =1 c hiu c ng hm ni trc tip gia im i v im j (1<=i,
j<=N).
119
BI TP K THUT LP TRNH Vesion 1.0
Output:
Vi mi b test, in ra mn hnh trn mt dng mt s duy nht l nh b ph hy
tha mn yu cu bi ton (nu c nhiu nh cng tha mn yu cu th in ra nh
c gi tr nh nht). Nu khng th chia ct c h thng, hy in ra s 0.
Example
Input:
2
5
0 1 1 0 0
1 0 1 0 0
1 1 0 1 1
0 0 1 0 0
0 0 1 0 0
5
0 1 1 0 0
IT
1 0 1 0 1
1 1 0 1 1
0 0 1 0 1
T
0 1 1 1 0
P
Output:
3
0
120
BI TP K THUT LP TRNH Vesion 1.0
64
P
13
23
12
45
Output:
4
5
6
Gii thch:
Input c th m t nh hnh di y:
1---2 4---5
121
BI TP K THUT LP TRNH Vesion 1.0
\ |
\| 6
\|
3
D thy, cc con b 4, 5, v 6 khng ni ti con b 1.
BAI 5.3.7:
Cho th v hng lin thng gm N nh G = <V,E>. S dng thut ton BFS, hy vit
chng trnh xy dng mt cy khung ca th bt u ti nh u. D liu vo cho bi
file dothi.in l biu din ca th di dng ma trn k theo khun dng sau:
Dng u tin ghi li hai s t nhin N, u tng ng vi s nh v nh bt u
xy dng cy khung. Hai s c vit cch nhau bi mt vi khong trng.
N dng k tip ghi li ma trn k ca th, hai phn t khc nhau ca ma trn k
c vit cch nhau mt vi khong trng.
IT
Cy khung xy dng t nh u tm c ghi li trong file cay.out theo khun dng sau:
Dng u tin ghi li s N, K tng ng vi s nh v s cnh ca cy khung.
Hai s c vit cch nhau mt vi k t trng;
K dng k tip ghi li mt cnh ca cy khung, nh u v nh cui ca mi
T
dothi.in cay.out
5 5 4
0 1 1 1 2
1 1 1 3
1 0 1 1 4
0 1 1 5
1 1 0
1 0
1 0 1
0 1
1 1 0
1 0
122
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.3.8:
Cho th v hng lin thng gm N nh G = <V,E>. S dng thut ton BFS, hy vit
chng trnh xy dng mt cy khung ca th bt u ti nh u. D liu vo cho bi
file dothi.in l biu din ca th di dng danh sch cnh theo khun dng sau:
Dng u tin ghi li ba s t nhin N, M v u tng ng vi s nh, s cnh ca
th v nh bt u xy dng cy khung. Ba s c vit cch nhau bi mt vi
khong trng.
M dng k tip, mi dng ghi li mt cnh ca th, nh u v nh cui ca
mi cnh c vit cch nhau mt vi khong trng.
Cy khung xy dng t nh u tm c ghi li trong file cay.out theo khun dng sau:
Dng u tin ghi li s N, K tng ng vi s nh v s cnh ca cy khung.
Hai s c vit cch nhau mt vi k t trng;
K dng k tip ghi li mt cnh ca cy khung, nh u v nh cui ca mi
cnh c ghi cch nhau bi mt vi k t trng.
V d vi th G=<V,E> c t chc trong file dothi.in di y s cho ta file
cay.out tng ng.
IT
dothi.in cay.out
5 8 1 5 4
T
1 2 1 2
1 3 1 3
1 4 1 4
1 5 1 5
P
2 3
2 5
3 4
4 5
BAI 5.3.9:
Cho th v hng lin thng gm N nh G = <V,E>. S dng thut ton BFS, hy vit
chng trnh xy dng mt cy khung ca th bt u ti nh u. D liu vo cho bi
file dothi.in l biu din ca th di danh sch k theo khun dng sau:
Dng u tin ghi li hai s t nhin N, u tng ng vi s nh ca th v nh
bt u xy dng cy khung. Hai s c vit cch nhau bi mt vi khong trng.
N dng k tip, mi dng ghi li danh sch k ca nh tng ng, hai nh khc
nhau ca cng mt danh sch k c ghi cch nhau bi mt vi k t trng.
123
BI TP K THUT LP TRNH Vesion 1.0
Cy khung xy dng t nh u tm c ghi li trong file cay.out theo khun dng sau:
Dng u tin ghi li s N, M tng ng vi s nh v s cnh ca cy khung.
Hai s c vit cch nhau mt vi k t trng;
M dng k tip ghi li mt cnh ca cy khung, nh u v nh cui ca mi
cnh c ghi cch nhau bi mt vi k t trng.
V d vi th G=<V,E> c t chc trong file dothi.in di y s cho ta file
cay.out tng ng.
dothi.in cay.out
5 1 5 4
2 3 4 5 1 2
1 3
1 3 5 1 4
1 2 4 1 5
1 3 5
1 2 4
IT
BAI 5.3.10:
Cho th c hng G =<V,E> gm N nh v M cnh c biu din di dng danh
sch k trong file dske.in theo khun dng sau:
T
124
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.3.11:
Cho h thng giao thng gm N im. Bit gia hai im bt k ca h thng u tn ti
ng i trc tip hoc gin tip thng qua mt s im trung gian. Ta gi im giao thng
s l im tht ca cp nt giao thng u, v nu mi ng i t s n t u phi i qua s. V
d vi cp nt 1, 3 ca h thng giao thng gm 5 im di y s c nh tht s = 2 v
IT
s =4.
2 5
T
1
P
3 4
Nhim v ca bn l vit mt chng trnh tm s lng cac nh tht s ca cp im u, v
ca h thng giao thng.
D liu vo:
D liu vo gm nhiu b d liu tng ng vi nhiu test. Dng u tin cha mt
s nguyn khng ln hn 100 l s lng cc b d liu. Cc dng tip theo cha cc b
d liu. Mi b d liu gm mt nhm dng theo khun dng:
Dng 1 cha 4 s nguyn N, M, u, v ( u, v, N100; M1000).
M dng sau, mi dng ghi li ng ni trc tip gia cc cp im (i, j) ca h
thng giao thng (1i,jN).
D liu ra:
Vi mi b d liu, ghi ra trn mt dng mt s l s lng nh tht ca mi cp
im u, v trong mi test.
125
BI TP K THUT LP TRNH Vesion 1.0
V d d liu vo V d d liu ra
2 2
5 7 1 3 0
1 2
2 4
2 5
3 1
3 2
4 3
5 4
4 5 1 4
1 2
1 3
2 3
2 4
3 4
BAI 5.3.12:
IT
Cho mt h thng giao thng gm N im (N250). Bit gia hai im bt k ca h thng
u c ng i trc tip hoc gin tip thng qua cac im trung gian. Hy cho bit ta c
T
th nh chiu li ton b h thng giao thng sao cho gia hai im bt k ca h thng
u tn ti ng i v bng mt chiu hay khng?
Input: Dng u tin ghi s b test, khng ln hn 100. Mi b test c t chc nh
P
sau:
Dng th nht ghi li s N l s im node giao thng ca h thng;
N dng tip theo ghi li ma trn vung A = (aij) cp N l biu din ca h thng giao
thng. Trong , aij = 0 nu khng c ng i trc tip t im i n j, aij = 1 nu
c ng i trc tip t im i n j.
Output: Vi mi b test, vit ra trn mt dng gi tr YES nu h thng giao thng c
th nh chiu c, gi tr NO nu h thng giao thng khng th nh chiu c.
V d cho Input v Output:
126
BI TP K THUT LP TRNH Vesion 1.0
INPUT OUTPUT
2 NO
5 YES
0 1 1 0 0
1 0 1 0 1
1 1 0 1 0
0 0 1 0 0
0 1 0 0 0
5
0 1 1 0 0
1 0 1 1 1
1 1 0 1 0
0 1 1 0 1
0 1 0 1 0
BAI 5.3.13: IT
Cho h thng giao thng gm N node (1 N 100) c t chc trong file DATA.IN theo
khun dng sau: dng u tin ghi li s t nhin N l s node ca h thng; N dng k
tip ghi li ma trn vung Aij ( 1i,jN) l biu din ca h thng giao thng, trong Aij
=1 biu th h thng c ng i trc tip t node i n node j, Aij=0 biu th h thng
T
mun nh chiu li ton b h thng giao thng sao cho nhng iu kin sau c tha
mn:
a. Khng xy dng thm mi bt k mt tuyn ng no (bo ton cc tuyn ng
c);
b. Tt c cc tuyn ng i t node i n node j bt k ca h thng ch i bng mt
chiu.
Hy s dng biu din d liu v thut ton thch hp vit chng trnh nh chiu
li ton b h thng giao thng tha mn nhng iu kin trn. Ghi li kt qu nh chiu
cc tuyn ng trong fle KETQUA.OUT theo khun dng sau:
Dng u tin ghi li s t nhin M l s cac ng ni mt chiu trc tip t node
i n node j ca h thng hoc ghi li thng bao V nghim trong trng hp h
thng khng th nh chiu c;
M dng k tip mi dng ghi li hng ca mi tuyn ng trc tip (trong trng
hp bi toan nh chiu thnh cng).
127
BI TP K THUT LP TRNH Vesion 1.0
5.4. th Euler
BAI 5.4.1:
Cho cac th sau. th no l th na Euler, th Euler? Ti sao? Ch ra mt ng
i, chu trnh Euler nu c. IT
T
a b c
P
e f
d
g h i
Hnh 1 Hnh 2
BAI 5.4.2:
Cho th v hng lin thng G = <V,E> gm N nh c biu din di dng ma trn
k trong file dothi.in theo khun dng sau:
Dng u tin ghi s t nhin N tng ng vi s nh ca th;
N dng k tip ghi li ma trn k ca th, hai phn t khc nhau ca ma trn k c
vit cch nhau mt vi khong trng.
128
BI TP K THUT LP TRNH Vesion 1.0
dothi.in Mn hnh
4 2-3-4-1-24
0 1 0 1
1 0 1 1
0 1 0 1
1 1 1 0
IT
BAI 5.4.3:
T
dothi.in Mn hnh
4 2-3-4-1-24
129
BI TP K THUT LP TRNH Vesion 1.0
0 1 0 0
0 0 1 1
0 0 0 1
1 0 0 0
BAI 5.4.4:
Cho ma trn vung A = (aij) cp N (N100). Cc cc phn t trn ng cho chnh ca
ma trn A = (aij) lun c gi tr 0 (aii =0), cc phn t cn li c gi tr hoc bng 0 hoc
bng 1 (1i, j N). Ta ni ma trn A = (aij) l biu din ca th Euler nu v ch nu A
= (aij) tha mn tnh cht (a); ma trn A = (aij) l biu din ca th na Euler nu v ch
nu A = (aij) tha mn cc tnh cht (b) di y.
Tnh cht (a): Ma trn A=(aij) l ma trn i xng (aij =aji) v tng cc phn t trn
IT
mi hng ca ma trn l nhng s chn.
Tnh cht (b): Ma trn A=(aij) l ma trn i xng (aij =aji ) v tn ti ng hai hng
u, v sao cho tng cc phn t ca ma trn trn hng u v tng cc phn t ca ma
trn trn hng v l nhng s l.
T
Bi toan t ra l, cho ma trn vung A = (aij) cp N nh trn, hy a ra gia tr 1
nu A = (aij) tha mn tnh cht (a), gi tr -1 nu A = (aij) tha mn tnh cht (b), gi tr 0
trong cac trng hp khc.
P
Input:
Dng u tin ghi s b test, khng ln hn 100. Mi b test c t chc theo
khun dng sau:
Dng u tin ghi li s N l cp ca ma trn vung;
Nhng dng k tip ghi li ma trn vung A = (aij). Hai phn t khc nhau
ca ma trn vung c ghi cch nhau mt vi khong trng.
Output:
Vi mi b test, vit ra trn mt dng gi tr 1, -1 hoc 0 theo yu cu bi ton.
V d cho Input v Output:
130
BI TP K THUT LP TRNH Vesion 1.0
INPUT OUTPUT
3 1
5 -1
0 1 1 0 0 0
1 0 0 1 0
1 0 0 0 1
0 1 0 0 1
0 0 1 1 0
5
0 1 1 0 0
1 0 0 1 0
1 0 0 1 1
0 1 1 0 1
0 0 1 1 0
5
0 1 1 0 0
0 0 0 1 0
1 0 0 1 0
IT
0 1 1 0 1
0 0 1 1 0
T
BAI 5.4.5:
P
131
BI TP K THUT LP TRNH Vesion 1.0
dothi.in
4
0 1
0
0
0 0
1
1
0 0
0
1
1 0
0
0
BAI 5.4.6:
Cho th v hng lin thng G = <V,E> gm N nh c biu din di dng ma trn
k trong file dothi.in theo khun dng sau:
IT
Dng u tin ghi li hai s t nhin N tng ng vi s nh ca th;
N dng k tip ghi li ma trn k ca th, hai phn t khc nhau ca ma trn k
c vit cch nhau mt vi khong trng.
T
G khng l th na Euler?
BAI 5.4.7:
Cho th v hng lin thng G = <V,E> gm N nh c biu din di dng danh
sch k trong file dothi.in theo khun dng sau:
Dng u tin ghi li hai s t nhin N tng ng vi s nh ca th;
N dng k tip, mi dng ghi li danh sch k ca nh tng ng, hai nh khc
nhau ca cng mt danh sch k c ghi cch nhau bi mt vi k t trng.
Hy vit chng trnh kim tra G c phi l th Euler hay khng? Nu G l
th Euler, hy xy dng mt chu trnh Euler ca th bt u ti nh u (u c nhp t
bn phm), ngc li a ra thng bao G khng l th Euler?
V d vi th di y s cho ta chu trnh Euler bt u ti nh s 1 l : 1 - 2 - 3 - 4 -
1
132
BI TP K THUT LP TRNH Vesion 1.0
dothi.in
5
2 4
1 3
2 4
1 3
BAI 5.4.8:
Cho th c hng lin thng yu G = <V,E> gm N nh c biu din di dng ma
trn k trong file dothi.in theo khun dng sau:
Dng u tin ghi li hai s t nhin N tng ng vi s nh ca th;
N dng k tip ghi li ma trn k ca th, hai phn t khc nhau ca ma trn k
c vit cch nhau mt vi khong trng.
Hy vit chng trnh kim tra G c phi l th Euler hay khng? Nu G l
th Euler hy xy dng mt chu trnh Euler ca th bt u ti nh u (u c nhp t
bn phm), ngc li a ra thng bao G khng l th Euler?
IT
V d vi th di y s cho ta chu trnh Euler bt u ti nh s 1 l : 1 - 2 - 3 - 4 -
1
dothi.in
5
T
0 1
0
0
P
0 0
1
0
0 0
0
1
1 0
0
0
BAI 5.4.9:
Cho th v hng lin thng G = <V,E> gm N nh c biu din di dng ma trn
k trong file dothi.in theo khun dng sau:
Dng u tin ghi li hai s t nhin N tng ng vi s nh ca th;
N dng k tip ghi li ma trn k ca th, hai phn t khc nhau ca ma trn k
c vit cch nhau mt vi khong trng.
133
BI TP K THUT LP TRNH Vesion 1.0
on thng ni gia cac im. An Bnh, hy ghi li Yes trn cac bn v m Bnh c
th t li tt c cac on thng trn bn v bng mt nt bt, hy ghi li No nu Bnh
P
khng lm c iu .
Yu cu: Hy cho bit bng cch no Bnh c th ghi li cc gi tr Yes, No trn mi
bn v vi thi gian nhanh nht.
Input: Dng u tin ghi s b test, khng ln hn 100. Mi b test c t chc nh
sau:
Dng u tin ghi li hai s N, M l s im trn bn v v s on thng ni gia
cac im;
M dng k tip mi dng ghi li mt on thng ni gia im i v im j.
Output: Vi mi b test, output a ra gia tr Yes hoc No trn mi dng theo yu
cu ca bi ton.
V d cho Input v Output:
134
BI TP K THUT LP TRNH Vesion 1.0
INPUT OUTPUT
2 No
5 6 Yes
1 2
1 3
2 3
2 4
3 4
4 5
5 5
1 2
1 3
2 4
3 4
4 5 IT
BAI 5.4.11:
Token Ring l mt trong nhng phng phap kha ph bin trong vic kim tra tn hiu cc
T
knh truyn tin khc nhau. Token Ring l mt tn hiu xut pht t mt my tnh bt k i
qua tt c cc knh truyn tin ni gia cc my tnh khc nhau ri tr v chnh n.
Yu cu: Cho mt mng my tnh bt k. Hy cho bit c th to nn mt Token Ring t
mt my tnh bt k i qua tt c cc knh truyn, mi knh ng mt ln ri tr v chnh
n hay khng?
Input: Dng u tin ghi s b test, khng ln hn 100. Mi b test c t chc nh
sau:
Dng th nht ghi li s N, M l s my tnh v s knh truyn s dng trong mng.
M dng tip theo, mi dng ghi li mt knh truyn trc tip gia hai my tnh.
Output: Vi mi b test, output a ra mt gi tr duy nht YES nu c th to ra mt
Token Ring theo yu cu ca bi toan, NO trong trng hp ngc li.
V d cho Input v Output:
135
BI TP K THUT LP TRNH Vesion 1.0
INPUT OUTPUT
2 YES
4 4 NO
1 2
1 4
2 3
3 4
4 5
1 2
1 3
1 4
2 3
3 4
IT
BAI 5.4.12:
Mt t c hiu l dy cc k t khng cha khong trng, du tab, du xung dng v
T
136
BI TP K THUT LP TRNH Vesion 1.0
5.5. th Hamilton
BAI 5.5.1:
Tm mt chu trnh Hamilton ca th cho hnh di.
Hnh 1 Hnh 2
IT
BAI 5.5.2:
Chng minh rng: Nu th lng phn G = (V1, V2, E) c chu trnh Hamilton th
T
|V1| = |V2|
P
5.6. Cy khung th
BAI 5.6.1:
Xy dng cy khung ca th sau theo thut ton tm kim theo chiu rng v
chiu su xut pht t nh 1 (trong danh sach cac nh k ca mt nh lun u tin
chn nh c s th t nh)
137
BI TP K THUT LP TRNH Vesion 1.0
Hnh 1 Hnh 2
BAI 5.6.2:
Tm cy khung nh nht cho cac th sau bng hai phng phap PRIM,
KRUSKAL
IT
2 7 3
3 5
1 10 8 1 4
2
T
5 6
6 7 5
P
Hnh 1
Hnh 2 Hnh 3
138
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.6.3:
Tm mt cy bao trm ti thiu ca mt th.
BAI 5.6.4:
Hy a ra thut toan tm cy bao trm ti thiu ca mt th lin thng.
BAI 5.6.5:
C i th no V nh v E cnh m cn thi gian xp x (E+V)logV khi tm cy bao
trm ti thiu bng phng phap tm kim theo su u tin hay khng?
BAI 5.6.6:
Tm mt phn v d cho thy chin lc tham lam sau y s khng ng khi
gii bi toan cy bao trm ti thiu hay ng i ngn nht: trong mi bc, thm
nh cha c thm gn nh va thm nht.
BAI 5.6.7: IT
Lm th no tm cy bao trm ti thiu ca th khng l (qua ln n ni
khng th cha n trong b nh chnh).
BAI 5.6.8:
T
Vit chng trnh phat sinh cac th lin thng ngu nhin V nh, k tm
ng i ngn nht v cy bao trm ti thiu. Hy dng trng s ngu nhin t 1
P
139
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.6.11:
Cho th v hng lin thng gm N nh G = <V,E>. S dng thut ton BFS, hy vit
chng trnh xy dng mt cy khung ca th bt u ti nh u. D liu vo cho bi
file dothi.in l biu din ca th di dng danh sch cnh theo khun dng sau:
Dng u tin ghi li ba s t nhin N, M v u tng ng vi s nh, s cnh ca
th v nh bt u xy dng cy khung. Ba s c vit cch nhau bi mt vi khong
trng.
M dng k tip, mi dng ghi li mt cnh ca th, nh u v nh cui ca mi
cnh c vit cch nhau mt vi khong trng.
Cy khung xy dng t nh u tm c ghi li trong file cay.out theo khun dng sau:
Dng u tin ghi li s N, K tng ng vi s nh v s cnh ca cy khung. Hai s
c vit cch nhau mt vi k t trng;
K dng k tip ghi li mt cnh ca cy khung, nh u v nh cui ca mi cnh
c ghi cch nhau bi mt vi k t trng.
IT
V d vi th G=<V,E> c t chc trong file dothi.in di y s cho ta file cay.out
tng ng:
T
dothi.in cay.out
P
5 8 1 5 4
1 2 1 2
1 3 1 3
1 4 1 4
1 5 1 5
2 3
2 5
3 4
4 5
140
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.6.12:
Trn mt nn phng vi h ta trc chun t n may tnh, may tnh th i c
t ta (xi, yi). c sn mt s dy cap mng ni gia mt s cp may tnh.
Cho php ni thm cac dy cap mng ni gia tng cp may tnh. Chi ph ni mt
dy cap mng t l thun vi khong cach gia hai may cn ni. Hy tm cach ni
thm cac dy cap mng cho cac may tnh trong ton mng l lin thng v chi
ph ni mng l nh nht.
BAI 5.6.13:
H thng in trong thnh ph c cho bi n trm bin th v cac ng dy in
ni gia cac trm bin th. Mi ng dy in e c an ton l p(e) (0,1].
an ton ca c li in l tch an ton trn cac ng dy. Hy tm cach b i
mt s dy in cho cac trm bin th vn lin thng v an ton ca mng l
IT
ln nht c th.
Gi : bng k thut ly l ga rt, an ton trn li in tr thnh tng an ton
trn cac ng dy.
T
P
BAI 5.6.14:
Cho th v hng lin thng c trng s G = <V,E> trong file dothi.in c biu
din di dng danh sch cnh theo khun dng sau:
Dng u tin ghi li s t nhin N, M tng ng vi s nh v s cnh ca
th.
M dng k tip mi dng ghi li ba s i, j, w tng ng vi nh u, nh cui
v trng s ca cnh tng ng.
BAI 5.6.15:
Hy s dng thut ton Prim, vit chng trnh tm cy khung nh nht ca th
bt u ti nh u=1. Cy khung nh nht tm c ghi li trong file caykhung.out
theo khun dng:
141
BI TP K THUT LP TRNH Vesion 1.0
dothi.out ketqua.out
5 10
1 2 2 1 2
1 3 4 1 3
1 4 6 3 4
1 5 8 4 5
IT
2 3 7
2 5 5
T
3 4 3
4 5 1
P
BAI 5.6.16:
Cho th v hng lin thng c trng s G = <V,E> trong file dothi.in c biu din
di dng danh sch cnh theo khun dng sau:
Dng u tin ghi li s t nhin N, M tng ng vi s nh v s cnh ca
th.
M dng k tip mi dng ghi li ba s i, j, w tng ng vi nh u, nh
cui v trng s ca cnh tng ng.
142
BI TP K THUT LP TRNH Vesion 1.0
dothi.in ketqua.out
5 10
1 2 2 1 2
1 3 4 1 3
1 4 6 3 4
1 5 8 4 5
2 3 7
2 5 5
3 4 3
4 5 1
IT
BAI 5.6.17:
Cho th v hng lin thng c trng s G = <V,E> trong file dothi.in c biu din
di dng danh sch cnh theo khun dng sau:
T
dothi.in ketqua.out
5 10
1 2 2 1 2
1 3 4 1 3
1 4 6 3 4
1 5 8 4 5
2 3 7 143
2 5 5
3 4 3
4 5 1
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.6.18:
Cho mng gm N my tnh. Bit gia hai may tnh u c ni vi nhau bng h thng
cable trc tip hoc gin tip thng qua mt s my tnh trung gian. tit kim cable ni,
ngi ta ngh cach loi b i mt s ng cable sao cho ta vn nhn c mt mng my
tnh lin thng. Hy s dng biu din d liu v thut ton thch hp vit chng trnh b
cac ng cable cho mng may tnh sao cho hai iu kin sau c tha mn:
(i) S cac ng cable loi b nhiu nht c th c;
(ii) S cac ng cable i vo hoc i ra may tnh th K (1KN) l t nht.
D liu vo cho bi file mang.in theo khun dng sau:
IT
Dng u tin ghi li hai s t nhin N v K. Hai s c vit cch nhau
bi mt vi khong trng.
N dng k tip ghi li ma trn vung Aij (i, j = 1, 2, ..., N) l biu din cc
tuyn cable ni. Trong , Aij = 1 biu th t my tnh th i v my tnh th
T
mang.in ketqua.out
5 1 5 4
0 1 1 1 1 1 2
1 0 1 0 1 2 3
1 1 0 1 0 3 4
1 0 1 0 1 4 5
1 1 0 1 0
144
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.6.19:
Cho mng gm N my tnh. Bit gia hai may tnh u c ni vi nhau bng h thng
cable trc tip hoc gin tip thng qua mt s my tnh trung gian. tit kim cable ni,
ngi ta ngh cach loi b i mt s ng cable sao cho ta vn nhn c mt mng my
tnh lin thng. Hy s dng biu din d liu v thut ton thch hp vit chng trnh b
cac ng cable cho mng may tnh sao cho hai iu kin sau c tha mn:
(iii) S cac ng cable loi b nhiu nht c th c;
(iv) S cac ng cable i vo hoc i ra may tnh th K (1KN) l nhiu
nht.
cable cn li ni cc my tnh;
M dng k tip ghi li mi ng cable ni trc tip t may tnh i n my
tnh j. Gi tr i v j c vit cch nhau mt vi khong trng.
P
V d vi mng may tnh c cho trong file mang.in s cho ta file ketqua.out tng
ng.
mang.in ketqua.out
5 1 5 4
0 1 1 1 1 1 2
1 0 1 0 1 1 3
1 1 0 1 0 1 4
1 0 1 0 1 1 5
1 1 0 1 0
145
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.6.20:
Cho mt mng gm N my tnh. Bit gia hai my tnh bt k u c th truy nhp trc
tip hoc gin tip vi nhau thng qua h thng cable ni gia cc my tnh khc nhau.
Bit di ng cable ni gia my tnh i v my tnh j l C[i][j] mt (i, j =1, 2, .., N).
tit kim ng cable ni gia cac may tnh, ngi ta xy dng phng an loi b i
mt s on cable ni sao cho gia hai my tnh bt k vn c th truy nhp ln nhau.
Yu cu: Hy cho bit s mt cable ni ti a c th tit kim c sau khi thc hin
phng an tit kim cable ni.
Input: Dng u tin ghi s b test, khng ln hn 100. Mi b test c t chc nh
sau:
Dng u tin ghi li N l s my tnh trong mng v M l s cac on cable ni
gia nhng my tnh khc nhau.
M dng k tip, mi dng ghi li b ba i, j, C[i][j] biu din ng cable ni t my
i n my j vi di C[i][j].
Output: Vi mi b test, output a ra mt s duy nht l s mt cable ti a c th tit
kim c.
IT
V d cho Input v Output:
INPUT OUTPUT
T
2 28
5 6 0
P
1 2 5
1 3 4
2 3 11
2 4 7
3 5 9
4 5 17
5 4
1 2 5
1 3 4
2 4 7
3 5 9
146
BI TP K THUT LP TRNH Vesion 1.0
2 7 3
3 5
1 2 8 10 4
5
IT
6
6 7 5
T
Hnh 1 Hnh 2
P
BAI 5.7.3:
Cac thut toan tm ng i ngn nht i vi th v hng hc c ng vi
th c hng hay khng? Gii thch ti sao v cho mt v d nu n sai.
BAI 5.7.4:
Cho mt bng cac s t nhin kch thc m x n. T mt c th di chuyn sang
mt k cnh vi n. Hy tm mt cach i t (x,y) ra mt bin sao cho tng cac
s ghi trn cac i qua l nh nht.
BAI 5.7.5:
Cho mt dy s nguyn A = (a1, a2, , an). Hy tm mt dy con gm nhiu nht
cac phn t ca dy cho m tng ca 2 phn t lin tip l s nguyn t.
147
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.7.6:
Mt cng trnh ln c chia lm n cng on. Cng on i phi thc hin mt thi gian
ti. Quan h gia cac cng on c cho bi bng A trong A= { } trong aij= 1
nu cng on j ch c bt u khi m cng on i hon thnh v aij = 0 trong trng
hp ngc li. Mi cng on khi bt u cn thc hin lin tc cho ti khi hon thnh,
hai cng on c lp nhau c th tin hnh song song. Hy b tr lch thc hin cc cng
on sao cho thi gian hon thnh c cng trnh l sm nht, cho bit thi gian sm nht
.
Gi :
Dng th c hng G = (V,E), mi nh tng ng vi mt cng on, nh u c cung
ni ti nh v nu cng on u phi hon thnh trc khi cng on v bt u. Thm vo
G mt nh s v cung ni t s ti tt c cc nh cn li. Gn trng s mi cung (u, v) ca
th bng tv. Nu th c chu trnh, khng th c cch xp lch, nu th khng c chu
trnh (DAG) tm ng i di nht xut pht t s ti tt c cc nh ca th, khi nhn
IT
khong cch d[v] chnh l thi im hon thnh cng on v, ta ch cn xp lch cng
on v c bt u vo thi im d[v] - tv l xong.
T
148
BI TP K THUT LP TRNH Vesion 1.0
44
P
+--99--+--10--+
| | |
| 1 |
| | |
+--10--+--99--+
| | |
| 1 |
| | |
+--99--+--10--+
| | |
| 1 |
| | |
+--10--+--99--+
149
BI TP K THUT LP TRNH Vesion 1.0
| | |
| 1 |
| | |
+------+------+
i theo ng zigzac
Gii hn
1 <= M <= 2222
1 <= N <= 10
Chi ph ca cc cnh ca thuc [0, 1000].
BAI 5.8.3:
Khng nh sau y ng hay sai: khng thut toan no c th tm c dng chy
cc i m khng kim tra mi cnh trong mng li.
BAI 5.8.4:
iu g xy ra i vi thut toan Ford-Fullkerson khi mng li c mt chu trnh c
hng.
BAI 5.8.5:
Tm mt phn v d cho thy ti sao tm kim u tin su khng thch hp i
vi bi toan dng chy trong mng li.
150
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.8.6: BO V
Mt mng li gm N thnh ph, v mt s ng mt chiu ni cc cp thnh ph (gia
hai thnh ph c th c nhiu ng ni mt chiu).
Qun ch ang tp trung thnh ph N, nh tin cng ta thnh ph 1, v chng s tin
cng trn tt c cac con ng cha c bo v tin vo thnh ph 1. B ch huy ta
cn xac nh s qun t nht trn cac con ng chn ch tin v thnh ph 1.
Input
Dng u ghi N (N 5000)
Cc dng tip theo cho n ht file, mi dng mt t 1 ng gm u, v, s cho bit
c on ng mt chiu t u n v, v phi cn t nht s qun chn ch trn
ng ny. (s 65000)
C khng qu 10000 ng.
Output
IT
S qun t nht cn iu ng
Vi d:
T
Input:
10
P
10 7 25050
6 1 12564
10 4 23916
5 1 61054
10 9 50950
9 1 35558
10 2 60941
3 1 22203
8 2 2853
5 7 31422
3 7 41491
8 7 27235
4 8 55965
151
BI TP K THUT LP TRNH Vesion 1.0
8 6 41980
3 6 47707
2 3 45320
3 8 11237
7 6 38734
5 6 7561
3 5 8844
Output:
79169
Gi :
Xy dng mt mng trong tp nh V gm 3 lp nh S, X v T:
P
152
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.9.2:
P
153
BI TP K THUT LP TRNH Vesion 1.0
BAI 5.9.5:
Hy vit mt chng trnh hiu qu xac nh xem mt phng an ca bi toan
hn nhn c bn vng hay khng?
BAI 5.9.6:
C th cho hai chng trai chn c gai cui cng ca danh sach ca mnh trong
thut toan hn nhn bn vng hay khng? Chng minh tr li ca bn.
BAI 5.9.7:
Xy dng mt tp danh sach cac s thch vi N = 4 cho bi toan hn nhn bn vng
trong mi ngi chn c ngi th 2 trong danh sach s thch ca mnh. Hy
chng minh rng khng tn ti tp hp nh th.
BAI 5.9.8:
Cho bit cu hnh bn vng ca bi toan hn nhn bn vng trong trng hp cac
danh sach s thch ca cac chng trai v cac c gai l nh nhau theo th t tng.
IT
BAI 5.9.9:
Vit chng trnh hn nhn bn vng vi N = 50, s dng cac hoan v ngu nhin
cho cac danh sach s thch. C khong bao nhiu cuc hn nhn trong sut qua trnh
T
154
BI TP K THUT LP TRNH Vesion 1.0
V d vi n = 12
P
9 6 2 7 9 9 6 5 7 9 6 7
Nu k = 5 th kt qu l 9, 9, 9, 9, 7
BAI 6.1.3:
Cho mng 1 chiu n phn t. Sp xp cc s nguyn t tng dn, cc s khc
gi nguyn gi tr v v tr.
BAI 6.1.4:
Cho mng vung n. Hy tm phn t ln nht trn mi ng cho song
song vi ng cho chnh.
BAI 6.1.5:
Cho ma trn 2 chiu m dng, n ct.. Hy sp tng dn cc phn t theo chiu
t tri qua phi v t trn xung di.
155
BI TP K THUT LP TRNH Vesion 1.0
BAI 6.1.6:
Sp xp cc phn t trn cac ng cho song song vi ng cho chnh
tng dn.
BAI 6.1.7:
Cho mng mt chiu gm n phn t l cc s nguyn. Sp xp cc s chn trong
mng theo th t tng, sp xp cc s l theo th t gim dn, cc s 0 gi nguyn
v tr..
BAI 6.1.8:
Cho mng mt chiu gm n phn t l cc s nguyn. Tm k gi tr ln nht khc
nhau ca mng
BAI 6.1.9:
Cho mng mt chiu gm n phn t l cc s nguyn.
IT
a. Ch gi li mt gi tr trong s cc gi tr ging nhau.
b. Sp xp cc s chn trong mng theo th t tng, sp xp cc s l theo th t
gim dn, cc s 0 gi nguyn v tr.
T
BAI 6.1.10:
Cho tp tin vn bn songuyen.inp cha cc s nguyn. Hy ghi cc s
P
156
BI TP K THUT LP TRNH Vesion 1.0
BAI 6.1.14:
Hy kim chng 2 cu hi trn bng lp trnh vi dy s nguyn.
BAI 6.1.15:
Hy a ra mt l do hp l ti sao khng thun tin khi dng mt kha cm canh
(ng gac) cho phng phap sp xp chn (tr phng phap phat sinh t ci t ca
Shellsort).
BAI 6.1.16:
C bao nhiu php so sanh c dng bi Shellsort vi sp-7, ri sp-3 vi cac kha
E A S Y Q U E S T I O N?
BAI 6.1.17:
Hy cho mt v d minh ha ti sao 8, 4, 2, 1 s khng l mt cach tt kt thc
mt dy tng ca Shellsort.
BAI 6.1.18:
IT
Phng phap sp xp chn c n nh khng? Tng t i vi chn v ni bt?
BAI 6.1.19:
T
BAI 6.1.20: SP XP 2
Cho mt danh sch cha c cc s v cc t. Yu cu bn hy sp xp danh sach ny tng
dn sao cho cc t theo th t t in, cc s theo th t s. Hn na, nu phn t th n l
s th danh sch sau khi sp xp phn t th n cng phi l s, nu l t th vn l t.
Lu : Cac t ch gm cc ch in thung trong bng ch ci ting Anh.
Input
Gm nhiu dng, mi dng l mt danh sch. Mi phn t ca danh sch cch nhau
bi du phy (,) theo sau l du cach, v danh sach c kt thc bng du chm
(.).
D liu kt thc bi dng ch cha mt du chm.
Output
157
BI TP K THUT LP TRNH Vesion 1.0
158
BI TP K THUT LP TRNH Vesion 1.0
Output:
T
Case 1
123
P
10 9
Case 2
8 9 102 1
159
BI TP K THUT LP TRNH Vesion 1.0
11:15:12
14:20:14
Kt qu sau khi sp xp l:
11:15:12
11:20:20
14:20:14
INPUT FORMAT:
* Line 1: 1 s nguyn: N
* Lines 2..N+1: Dng i+1 cha thi gian b i c m t bi 3 s nguyn cch bi
du cch : S Gi , S Pht, S giy.
OUTPUT FORMAT:
* Dng 1..N: Mi dng cha thi gian ca 1 con b l 3 s nguyn cch nhau bi
du cach sau khi sp xp.
IT
SAMPLE INPUT:
3
T
11 20 20
P
11 15 12
14 20 14
SAMPLE OUTPUT:
11 15 12
11 20 20
14 20 14
160
BI TP K THUT LP TRNH Vesion 1.0
1234567
Output:
987
6.2. Quicksort
BAI 6.2.1:
Hy v cy phn hoch qui ca thut ton Quick-Sort trong trng hp xu nht.
T , chng t rng chi ph thut ton Quick-sort trong trng hp ny l O(n2).
161
BI TP K THUT LP TRNH Vesion 1.0
BAI 6.2.2:
Ci t mt thut toan Quicksort quy vi s ct xn bt php sp xp chn cho
cac tp tin con c t hn M phn t v xac inh theo kinh nghim gia tr ca M m
n s chy nhanh nht trn mt tp tin c 1000 phn t.
BAI 6.2.3:
Gii bi toan trn i bng kh quy.
BAI 6.2.4:
Gii bi toan trn c b sung php chn phn t gia ca 3 phn t.
BAI 6.2.5:
Quicksort s thc hin bao lu sp mt tp tin gm N phn t bng nhau?
BAI 6.2.6:
S ln ti a m phn t ln nht c th c di chuyn trong lc thi hnh Quicksort
IT
l bao nhiu?
BAI 6.2.7:
Hy ch ra lm th no tp tin A B A B A B A c phn hoch, s dng cac phng
T
phap hc?
BAI 6.2.8:
P
162
BI TP K THUT LP TRNH Vesion 1.0
BAI 6.2.11:
Vit mt chng trnh t chc li mt tp tin sao cho tt c cac phn t vi cac
kha bng vi gia tr trung bnh th nm ti ch, vi cac phn t nh hn th nm
bn trai v cac phn t ln hn th nm bn phi.
6.3. Heapsort
BAI 6.3.1:
Hy cho bit s phn t ti thiu v ti a trong mt heap c chiu cao h ?
BAI 6.3.2:
V heap c c khi cac thao tac sau thc hin trn mt heap rn ban u: insert(10),
insert(5), insert(2), replace(4), insert(6), insert(8), remove, insert(7), insert(3).
BAI 6.3.3: IT
Mt tp tin sp theo th t ngc c phi l mt heap khng?
BAI 6.3.4:
Hy cho heap c to bi vic ap dng lin tip php chn trn cac kha E A S Y
T
Q U E S T I O N.
BAI 6.3.5:
P
163
BI TP K THUT LP TRNH Vesion 1.0
BAI 6.3.9:
Vit mt chng trnh xa phn t v tr th k trong 1 heap.
BAI 6.3.10:
Hy so sanh theo kinh nghim, vic xy dng heap t di ln vi vic xy dng
heap t trn xung, bng cach no to cac heap vi 1000 kha ngu nhin.
6.4. Mergesort
BAI 6.4.1:
Vit chng trnh cho phng phap sp xp trn (Merge sort) quy bng cach ct
xn bt phng phap sp xp chn cho cac tp tin con nh hn M phn t; hy xac
nh theo kinh nghim gia tr ca M n chy nhanh nht trn mt tp tin ngu
nhin gm 1000 phn t. IT
BAI 6.4.2:
So sanh theo kinh nghim sp xp trn quy v khng quy cho cac xu lin kt
v N = 1000.
T
BAI 6.4.3:
Ci t php sp xp trn quy cho mt mng gm N s nguyn, s dng mt
P
164
BI TP K THUT LP TRNH Vesion 1.0
BAI 6.4.7:
Hy cho bit ni dung ca xu lin kt mi bc lp khi dng sp xp trn khng
quy sp xp cac kha E A S Y Q U E S T I O N.
BAI 6.4.8:
Hy th nghim mt php sp xp trn quy, s dng mng, ly tng thc hin
cac php trn 3-way thay v 2-way
6.5. Sp xp bng c s
BAI 6.5.1:
So sanh s hoan v c dng bi sp xp hoan v c s vi s hoan v c dng
bi Quicksort cho tp tin gm cac kha 001, 011, 101, 110, 000, 001,010,111, 110,
010. IT
BAI 6.5.2:
Ti sao li khng quan trng khi kh quy t phng phap sp xp hoan v c s
nh l i vi Quicksort.
T
BAI 6.5.3:
Hy sa i phng phap sp xp hoan v c s nhy qua cac bit dn u ging
P
165
BI TP K THUT LP TRNH Vesion 1.0
BAI 6.5.6:
iu sau y ng hay sai: c hai phng phap sp xp hoan v c s v sp xp c
s trc tip s kim tra tt c cac bit ca tt c cac kha trong tp tin. Hy gii thch
cu tr li ca bn.
BAI 6.5.7:
Tr yu cu v b nh b sung, hy cho bit bt tin chnh ca chin lc thc hin
php sp c s trc tip trn cac biti u ca cac kha, ri tip tc bng phng
phap chn sau .
BAI 6.5.8:
Cn dng bao nhiu b nh thc hin mt php sp c s trc tip 4-ng ca
N kha b-bit?
BAI 6.5.9:
Kiu no ca tp tin nhp s khin cho php sp hoan v c s chy chm nht (N
rt ln)?
IT
BAI 6.5.10:
Hy so sanh theo kinh nghim php sp xp c s trc tip vi php sp hoan v c
T
166
BI TP K THUT LP TRNH Vesion 1.0
Output:
File KQ.OUT s cha on vn bn sau:
Nam moi sap den roi, em co vui khong?
Chuc cac em don mot cai Tet that vui ve va hanh phuc.
Chuc em luon hoc gioi!
167
BI TP K THUT LP TRNH Vesion 1.0
Hy lm bi ny theo hai cach: Cach 1 dng suy lun logic v cach 2 vit chng
trnh tnh toan v so sanh hai kt qu vi nhau.
Tng quat bi toan trn: Chng trnh yu cu nhp s K t bn phm v in ra trn mn
hnh kt qu l s nm v tr th K trong dy (1) trn. Yu cu chng trnh chy cng
nhanh cng tt.
Vi d:
Input:
5
Garfield 20 9 1990
5
Mickey 1 10 1991
Alice 30 12 1990
Tom 15 8 1993
Jerry 18 9 1990
Garfield 20 9 1990
168
BI TP K THUT LP TRNH Vesion 1.0
Output:
Tom
Jerry
6.7. Php bm
BAI 6.7.1:
M t lm th no ci t mt hm bm bng cach dng mt b phat sinh s ngu
nhin tt. C ngha hay khng nu ci t mt b phat sinh ngu nhin bng cach
dng mt hm bm?
BAI 6.7.2:
IT
Lng gia trng hp xu nht khi chn N kha vo mt bng c khi to trng
bng cach dng xch ngn cach vi cac danh sach khng th t.
BAI 6.7.3:
T
169
BI TP K THUT LP TRNH Vesion 1.0
BAI 6.7.7:
Gi s rng cho bit trc s phn t s c t vo bng bm. Vi nhng iu
kin no th phng phap xch ngn cach thch hp hn phng phap bm kp?
BAI 6.7.8:
Gi s mt lp trnh vin c mt li trong chng trnh dng phng phap bm kp
m mt trong cac hm lun tr v cng mt gia tr (khac 0). M t iu g s xy ra
trong mi tnh hung (khi hm th nht b sai v khi hm th hai b sai).
BAI 6.7.9:
Nn dng hm bm no nu bit trc rng cac gia tr kha ri vo mt phm vi
tng i nh.
BAI 6.7.10:
Ph bnh thut toan sau y, thut toan ny nhm mc ch xa kha khi mt bng
bm c xy dng bng phng phap d tuyn tnh. Qut qua phi k t phn t
IT
c xa ra mt v tr trng, k n qut trai tm mt phn t c cng gia tr
bm, sau cng thay th phn t c xa bi phn t va tm c.
T
6.8. Tm kim da vo c s
BAI 6.8.1:
P
170
BI TP K THUT LP TRNH Vesion 1.0
BAI 6.8.4:
V cy tm kim c s c c khi chn cac kha E A S Y Q U E S T I O N theo
th t vo mt cy c khi to trng.
BAI 6.8.5:
Mt vn xy ra i vi cac cy tm kim s hc 26-hng (way) l mt s k t
trong bng ch cai th li c s dng rt thng xuyn. Hy ngh mt phng
phap gii quyt vn ny.
BAI 6.8.6:
M t phng phap xa mt phn t khi cy tm kim c s a hng.
BAI 6.8.7:
V cy Patricia c c khi chn cac kha E A S Y Q U E S T I O N theo th t
vo mt cy c khi to trng.
BAI 6.8.8:
IT
Hy tm mt tp hp 12 kha m chng to nn mt cy Patricia cn bng yu.
BAI 6.8.9:
T
Vit chng trnh in ra tt c cac kha trong cy Patricia m c t bit khi u ging
vi mt kha tm kim cho.
P
BAI 6.8.10:
Trong cac phng phap c s th phng phap no thch hp vit chng trnh
in ra cac kha theo th t? Phng phap no khng thch hp?
171
BI TP K THUT LP TRNH Vesion 1.0
IT
T
P
172