Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 234 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
234
Dung lượng
3,17 MB
Nội dung
|Lê Minh Hoàng} Tp bài ging chuyên đ Bài toán lit kê |1} M M C C L L C C § 0. GII THIU .2 § 1. NHC LI MT S KIN THC I S T HP .3 I. CHNH HP LP .3 II. CHNH HP KHÔNG LP 3 III. HOÁN V 3 IV. T HP 3 § 2. PHNG PHÁP SINH (GENERATE) .5 I. SINH CÁC DÃY NH PHÂN DÀI N 6 II. LIT KÊ CÁC TP CON K PHN T .7 III. LIT KÊ CÁC HOÁN V .8 § 3. THUT TOÁN QUAY LUI 12 I. LIT KÊ CÁC DÃY NH PHÂN DÀI N .13 II. LIT KÊ CÁC TP CON K PHN T .14 III. LIT KÊ CÁC CHNH HP KHÔNG LP CHP K 15 IV. BÀI TOÁN PHÂN TÍCH S .16 V. BÀI TOÁN XP HU .18 § 4. K THUT NHÁNH CN .23 I. BÀI TOÁN TI U 23 II. S BÙNG N T HP 23 III. MÔ HÌNH K THUT NHÁNH CN .23 IV. BÀI TOÁN NGI DU LCH 24 V. DÃY ABC 26 |Lê Minh Hoàng} Tp bài ging chuyên đ Bài toán lit kê |2} § § 0 0 . . G G I I I I T T H H I I U U Trong thc t, có mt s bài toán yêu cu ch rõ: trong mt tp các đi tng cho trc có bao nhiêu đi tng tho mãn nhng điu kin nht đnh. Bài toán đó gi là bài toán đm cu hình t hp . Trong lp các bài toán đm, có nhng bài toán còn yêu cu ch rõ nhng cu hình tìm đc tho mãn điu kin đã cho là nhng cu hình nào. Bài toán yêu cu đa ra danh sách các cu hình có th có gi là bài toán lit kê t hp . gii bài toán lit kê, cn phi xác đnh đc mt thut toán đ có th theo đó ln lt xây dng đc tt c các cu hình đang quan tâm. Có nhiu phng pháp lit kê, nhng chúng cn phi đáp ng đc hai yêu cu di đây: • Không đc lp li mt cu hình • Không đc b sót mt cu hình Có th nói rng, phng pháp lit kê là phng k cui cùng đ gii đc mt s bài toán t hp hin nay. Khó khn chính ca phng pháp này chính là s bùng n t hp. xây dng 1 t cu hình (con s này không phi là ln đi vi các bài toán t hp - Ví d lit kê các cách xp n ≥ 13 ngi quanh mt bàn tròn) và gi thit rng mi thao tác xây dng mt khong 1 giây, ta phi mt quãng 31 nm mi gii xong. Tuy nhiên cùng vi s phát trin ca máy tính đin t, bng phng pháp lit kê, nhiu bài toán t hp đã tìm thy li gii. Qua đó, ta cng nên bit rng ch nên dùng phng pháp lit kê khi không còn mt phng pháp nào khác tìm ra li gii. Chính nhng n lc gii quyt các bài toán thc t không dùng phng pháp lit kê đã thúc đy s phát trin ca nhiu ngành toán hc. Cui cùng, nhng tên gi sau đây, tuy v ngha không phi đng nht, nhng trong mt s trng hp ngi ta có th dùng ln ngha ca nhau đc. ó là: • Phng pháp lit kê • Phng pháp vét cn trên tp phng án • Phng pháp duyt toàn b |Lê Minh Hoàng} Tp bài ging chuyên đ Bài toán lit kê |3} § § 1 1 . . N N H H C C L L I I M M T T S S K K I I N N T T H H C C I I S S T T H H P P Cho S là mt tp hu hn gm n phn t và k là mt s t nhiên. Gi X là tp các s nguyên dng t 1 đn k: X = {1, 2, ., k} I. CH NH HP LP Mi ánh x f: X → S. Cho tng ng vi mi i ∈ X, mt và ch mt phn t f(i) ∈ S. c gi là mt chnh hp lp chp k ca S. Nhng do X là tp hu hn (k phn t) nên ánh x f có th xác đnh qua bng các giá tr f(1), f(2), ., f(k). Ví d: S = {A, B, C, D, E, F}; k = 3. Mt ánh x f có th cho nh sau: i 1 23 f(i) E C E Nên ngi ta đng nht f vi dãy giá tr (f(1), f(2), ., f(k)) và coi dãy giá tr này cng là mt chnh hp lp chp k ca S. Nh ví d trên (E, C, E) là mt chnh hp lp chp 3 ca S. D dàng chng minh đc kt qu sau bng quy np hoc bng phng pháp đánh giá kh nng la chn: S chnh hp lp chp k ca tp gm n phn t: k k n nA = II. CH NH HP KHÔNG LP Khi f là đn ánh có ngha là vi ∀ i, j ∈ X ta có f(i) = f(j) ⇔ i = j. Nói mt cách d hiu, khi dãy giá tr f(1), f(2), ., f(k) gm các phn t thuc S khác nhau đôi mt thì f đc gi là mt chnh hp không lp chp k ca S. Ví d mt chnh hp không lp (C, A, E): i 1 23 f(i) C A E S chnh hp không lp chp k ca tp gm n phn t: )!kn( !n )1kn) .(2n)(1n(nA k n − =+−−−= III. HOÁN V Khi k = n. Mt chnh hp không lp chp n ca S đc gi là mt hoán v các phn t ca S. Ví d: mt hoán v: (A, D, C, E, B, F) ca S = {A, B, C, D, E, F} i 1 23456 f(i) A D C E B F ý rng khi k = n thì s phn t ca tp X = {1, 2, , n} đúng bng s phn t ca S. Do tính cht đôi mt khác nhau nên dãy f(1), f(2), ., f(n) s lit kê đc ht các phn t trong S. Nh vy f là toàn ánh. Mt khác do gi thit f là chnh hp không lp nên f là đn ánh. Ta có tng ng 1-1 gia các phn t ca X và S, do đó f là song ánh. Vy nên ta có th đnh ngha mt hoán v ca S là mt song ánh gia {1, 2, ., n} và S. S hoán v ca tp gm n phn t = s chnh hp không lp chp n: !nP n = IV. T HP Mt tp con gm k phn t ca S đc gi là mt t hp chp k ca S. |Lê Minh Hoàng} Tp bài ging chuyên đ Bài toán lit kê |4} Ly mt tp con k phn t ca S, xét tt c k! hoán v ca tp con này. D thy rng các hoán v đó là các chnh hp không lp chp k ca S. Ví d ly tp {A, B, C} là tp con ca tp S trong ví d trên thì: (A, B, C), (C, A, B), (B, C, A), . là các chnh hp không lp chp 3 ca S. iu đó, các lp di ta thng nghe nói nôm na rng khi lit kê tt c các chnh hp không lp chp k thì mi t hp chp k s đc tính k! ln. Vy: S t hp chp k ca tp gm n phn t: )!kn(!k !n !k A C k n k n − == S tp con ca tp n phn t: nnn n 1 n 0 n 2)11(C .CC =+=+++ |Lê Minh Hoàng} Tp bài ging chuyên đ Bài toán lit kê |5} § § 2 2 . . P P H H N N G G P P H H Á Á P P S S I I N N H H ( ( G G E E N N E E R R A A T T E E ) ) Phng pháp sinh có th áp dng đ gii bài toán lit kê t hp đt ra nu nh hai điu kin sau tho mãn: 1. Có th xác đnh đc mt th t trên tp các cu hình t hp cn lit kê. T đó có th xác đnh đc cu hình đu tiên và cu hình cui cùng trong th t đã xác đnh 2. Xây dng đc thut toán t cu hình cha phi cu hình cui, sinh ra đc cu hình k tip nó. Phng pháp sinh có th mô t nh sau: <Xây dng cu hình đu tiên>; repeat <a ra cu hình đang có>; <T cu hình đang có sinh ra cu hình k tip nu còn>; until <ht cu hình>; Th t t đin Trên các kiu d liu đn gin chun, ngi ta thng nói ti khái nim th t. Ví d trên kiu s thì có quan h: 1 < 2; 2 < 3; 3 < 10; ., trên kiu ký t Char thì cng có quan h 'A' < 'B'; 'C' < 'c' . Xét quan h th t toàn phn "nh hn hoc bng" ký hiu " ≤ " trên mt tp hp S, là quan h hai ngôi tho mãn bn tính cht: Vi ∀ a, b, c ∈ S • Tính ph bin: Hoc là a ≤ b, hoc b ≤ a; • Tính phn x: a ≤ a • Tính phn đi xng: Nu a ≤ b và b ≤ a thì bt buc a = b. • Tính bc cu: Nu có a ≤ b và b ≤ c thì a ≤ c. Trong trng hp a ≤ b và a ≠ b, ta dùng ký hiu "<" cho gn, (ta ngm hiu các ký hiu nh ≥ , >, khi phi đnh ngha) Ví d nh quan h " ≤ " trên các s nguyên cng nh trên các kiu vô hng, lit kê là quan h th t toàn phn. Trên các dãy hu hn, ngi ta cng xác đnh mt quan h th t: Xét a = (a 1 , a 2 , ., a n ) và b = (b 1 , b 2 , ., b n ); trên các phn t ca a 1 , ., a n , b 1 , ., b n đã có quan h th t " ≤ ". Khi đó a ≤ b nu nh • Hoc a i = b i vi ∀ i: 1 ≤ i ≤ n. • Hoc tn ti mt s nguyên dng k: 1 ≤ k < n đ: a 1 = b 1 a 2 = b 2 . a k-1 = b k-1 a k = b k a k+1 < b k+1 Trong trng hp này, ta có th vit a < b. Th t đó gi là th t t đin trên các dãy đ dài n. Khi đ dài hai dãy a và b không bng nhau, ngi ta cng xác đnh đc th t t đin. Bng cách thêm vào cui dãy a hoc dãy b nhng phn t đc bit gi là phn t ∅ đ đ dài ca a và b bng |Lê Minh Hoàng} Tp bài ging chuyên đ Bài toán lit kê |6} nhau, và coi nhng phn t ∅ này nh hn tt c các phn t khác, ta li đa v xác đnh th t t đin ca hai dãy cùng đ dài. Ví d: • (1, 2, 3, 4) < (5, 6) • (a, b, c) < (a, b, c, d) • 'calculator' < 'computer' I. SINH CÁC DÃY NH PHÂN DÀI N Mt dãy nh phân đ dài n là mt dãy x = x 1 x 2 .x n trong đó x i ∈ {0, 1} ( ∀ i : 1 ≤ i ≤ n). D thy: mt dãy nh phân x đ dài n là biu din nh phân ca mt giá tr nguyên p(x) nào đó nm trong đon [0, 2 n - 1]. S các dãy nh phân đ dài n = s các s nguyên ∈ [0, 2 n - 1] = 2 n . Ta s lp chng trình lit kê các dãy nh phân theo th t t đin có ngha là s lit kê ln lt các dãy nh phân biu din các s nguyên theo th t 0, 1, ., 2 n -1. Ví d: Khi n = 3, các dãy nh phân đ dài 3 đc lit kê nh sau: p(x) 0 1 234567 x 000 001 010011 100 101110 111 Nh vy dãy đu tiên s là 00 .0 và dãy cui cùng s là 11 .1. Nhn xét rng nu dãy x = (x 1 , x 2 , ., x n ) là dãy đang có và không phi dãy cui cùng thì dãy k tip s nhn đc bng cách cng thêm 1 ( theo c s 2 có nh) vào dãy hin ti. Ví d khi n = 8: Dãy đang có: 10010000 Dãy đang có: 10010111 cng thêm 1: + 1 cng thêm 1: + 1 Dãy mi: 10010001 Dãy mi: 10011000 Nh vy k thut sinh cu hình k tip t cu hình hin ti có th mô t nh sau: Xét t cui dãy v đu (xét t hàng đn v lên), gp s 0 đu tiên thì thay nó bng s 1 và đt tt c các phn t phía sau v trí đó bng 0. i := n; while (i > 0) and (x i = 1) do i := i - 1; if i > 0 then begin x i := 1; for j := i + 1 to n do x j := 0; end; Ta có th kt hp k thut đm đ có th bit đc cu hình hin ti là cu hình th my. iu kin ht cu hình có th kim tra xem cu hình cui 11 .1 đã đc sinh ra hay cha hoc đã sinh ra đ 2 n cu hình cha. PROG2_1 * Thut toán sinh lit kê các dãy nh phân đ dài n program Binary_Strings; const max = 30; var x: array[1 max] of Integer; n, i: Integer; Count: LongInt; begin Write('n = '); Readln(n); FillChar(x, SizeOf(x), 0); {C u hình ban đu x 1 = x 2 = . = x n := 0} Count := 0; {Bi n đm} repeat {Thu t toán sinh} Inc(Count); Write(Count:10,'. '); {In ra c u hình hin ti là th my} for i := 1 to n do Write(x[i]); |Lê Minh Hoàng} Tp bài ging chuyên đ Bài toán lit kê |7} Writeln; i := n; {x i là ph n t cui dãy, lùi dn i cho ti khi gp s 0 hoc khi i = 0 thì dng} while (i > 0) and (x[i] = 1) do Dec(i); if i > 0 then {Ch a gp phi cu hình 11 .1} begin x[i] := 1; {Thay x i b ng s 1} FillChar(x[i + 1], (n - i) * SizeOf(x[1]), 0); {t x i + 1 = x i + 2 = . = x n := 0} end; until i = 0; {ã ht cu hình} end. Ví d v Input / Output ca chng trình: n = 4 1. 0000 2. 0001 3. 0010 4. 0011 5. 0100 6. 0101 7. 0110 8. 0111 9. 1000 10. 1001 11. 1010 12. 1011 13. 1100 14. 1101 15. 1110 16. 1111 II. LI T KÊ CÁC TP CON K PHN T Ta s lp chng trình lit kê các tp con k phn t ca tp {1, 2, ., n} theo th t t đin Ví d: vi n = 5, k = 3, ta phi lit kê đ 10 tp con: 1.{1, 2, 3} 2.{1, 2, 4} 3.{1, 2, 5} 4.{1, 3, 4} 5.{1, 3, 5} 6.{1, 4, 5} 7.{2, 3, 4} 8.{2, 3, 5} 9.{2, 4, 5} 10.{3, 4, 5} Nh vy tp con đu tiên (cu hình khi to) là {1, 2, ., k}. Cu hình kt thúc là {n - k + 1, n - k + 2, ., n}. Nhn xét: Ta s in ra tp con bng cách in ra ln lt các phn t ca nó theo th t tng dn. T đó, ta có nhn xét nu x = {x 1 , x 2 , ., x k } và x 1 < x 2 < . < x k thì gii hn trên (giá tr ln nht có th nhn) ca x k là n, ca x k-1 là n - 1, ca x k-2 là n - 2 . C th: gii hn trên ca x i = n - k + i; Còn tt nhiên, gii hn di ca x i (giá tr nh nht x i có th nhn) là x i-1 + 1 . Nh vy nu ta đang có mt dãy x đi din cho mt tp con, nu x là cu hình kt thúc có ngha là tt c các phn t trong x đu đã đt ti gii hn trên thì quá trình sinh kt thúc, nu không thì ta phi sinh ra mt dãy x mi tng dn tho mãn va đ ln hn dãy c theo ngha không có mt tp con k phn t nào chen gia chúng khi sp th t t đin. Ví d: n = 9, k = 6. Cu hình đang có x = {1, 2, 6, 7, 8, 9}. Các phn t x 3 đn x 6 đã đt ti gii hn trên nên đ sinh cu hình mi ta không th sinh bng cách tng mt phn t trong s các x 6 , x 5 , x 4 , x 3 lên đc, ta phi tng x 2 = 2 lên thành x 2 = 3. c cu hình mi là x = {1, 3, 6, 7, 8, 9}. Cu hình này đã tho mãn ln hn cu hình trc nhng cha tho mãn tính cht va đ ln mun vy ta li thay x 3 , x 4 , x 5 , x 6 bng các gii hn di ca nó. Tc là: • x 3 := x 2 + 1 = 4 • x 4 := x 3 + 1 = 5 • x 5 := x 4 + 1 = 6 |Lê Minh Hoàng} Tp bài ging chuyên đ Bài toán lit kê |8} • x 6 := x 5 + 1 = 7 Ta đc cu hình mi x = {1, 3, 4, 5, 6, 7} là cu hình k tip. Nu mun tìm tip, ta li nhn thy rng x 6 = 7 cha đt gii hn trên, nh vy ch cn tng x 6 lên 1 là đc x = {1, 3, 4, 5, 6, 8} . Vy k thut sinh tp con k tip t tp đã có x có th xây dng nh sau: • Tìm t cui dãy lên đu cho ti khi gp mt phn t x i cha đt gii hn trên n - k + i. i := n; while (i > 0) and (x i = n - k + i) do i := i - 1; (1, 2, 6, 7, 8, 9); • Nu tìm thy: if i > 0 then ♦ Tng x i đó lên 1. x i := x i + 1; (1, 3, 6, 7, 8, 9) ♦ t tt c các phn t phía sau x i bng gii hn di: for j := i + 1 to k do x j := x j-1 + 1; (1, 3, 4, 5, 6, 7) PROG2_2.PAS * Thut toán sinh lit kê các tp con k phn t program Combinations; const max = 30; var x: array[1 max] of Integer; n, k, i, j: Integer; Count: Longint; begin Write('n, k = '); Readln(n, k); for i := 1 to k do x[i] := i; {x 1 := 1; x 2 := 2; . ; x 3 := k (C u hình khi to)} Count := 0; {Bi n đm} repeat Inc(Count); Write(Count : 10, '. { '); {In ra c u hình hin ti} for i := 1 to k do Write(x[i],' '); Writeln('}'); i := k; {x i là ph n t cui dãy, lùi dn i cho ti khi gp mt x i ch a đt gii hn trên n - k + i} while (i > 0) and (x[i] = n - k + i) do Dec(i); if i > 0 then {N u cha lù i đn 0 có ngha là cha phi cu hình kt thúc} begin Inc(x[i]); {Tng x i lên 1, t các phn t đng sau x i b ng gii hn di ca nó} for j := i + 1 to k do x[j] := x[j - 1] + 1; end; until i = 0; {Lùi đn tn 0 có ngha là tt c các phn t đã đt gii hn trên - ht cu hình} end. Ví d v Input / Output ca chng trình: n, k = 5 3 1. { 1 2 3 } 2. { 1 2 4 } 3. { 1 2 5 } 4. { 1 3 4 } 5. { 1 3 5 } 6. { 1 4 5 } 7. { 2 3 4 } 8. { 2 3 5 } 9. { 2 4 5 } 10. { 3 4 5 } III. LI T KÊ CÁC HOÁN V Ta s lp chng trình lit kê các hoán v ca {1, 2, ., n} theo th t t đin. Ví d vi n = 4, ta phi lit kê đ 24 hoán v: [...]... 1 2 1 3 2 Bài t p: S a l i th t c in k t qu (PrintResult) trong bài có th v hình bàn c và các cách t h u ra màn hình 2 Bài toán mã i tu n: Cho bàn c t ng quát kích th c nxn và m t quân Mã, hãy ch ra m t hành trình c a quân Mã xu t phát t ô ang ng i qua t t c các ô còn l i c a bàn c , m i ô úng l n |Lê Minh Hoàng} T p bài gi ng chuyên |2 } Bài toán li t kê 3 Chuy n t t c các bài t p trong bài tr c... hình k ti p cho m i bài toán u n gi n nh trên (Sinh các ch nh h p không l p ch p k theo th t t i n ch ng h n) Ta sang m t chuyên m c sau nói n m t ph ng pháp li t kê có tính ph d ng cao h n, gi i các bài toán li t kê ph c t p h n ó là: Thu t toán quay lui (Back tracking) |Lê Minh Hoàng} T p bài gi ng chuyên | 2} Bài toán li t kê §3 THU T TOÁN QUAY LUI Thu t toán quay lui dùng gi i bài toán li t kê các... ó chính là ngu n g c c a tên g i "thu t toán quay lui" |Lê Minh Hoàng} T p bài gi ng chuyên Bài toán li t kê |23} §4 K THU T NHÁNH C N I BÀI TOÁN T I U M t trong nh ng bài toán t ra trong th c t là vi c tìm ra m t nghi m tho mãn m t s i u ki n nào ó, và nghi m ó là t t nh t theo m t ch tiêu c th , nghiên c u l i gi i các l p bài toán t i u thu c v l nh v c quy ho ch toán h c Tuy nhiên c ng c n ph i... 4 (()(())) 5 ()((())) Bài toán t ra là khi cho bi t tr c hai s nguyên d ng n và k Hãy li t kê h t các dãy ngo c h p l có dài là n và sâu là k (làm c v i n càng l n càng t t) |Lê Minh Hoàng} T p bài gi ng chuyên C u trúc d li u và gi i thu t | } M CL C §0 CÁC B C C B N KHI TI N HÀNH GI I CÁC BÀI TOÁN TIN H C .3 I XÁC NH BÀI TOÁN 3 II TÌM C U TRÚC D LI U BI U DI N BÀI TOÁN 3 III... .80 |Lê Minh Hoàng} §0 CÁC B I XÁC T p bài gi ng chuyên CC C u trúc d li u và gi i thu t |3} B N KHI TI N HÀNH GI I CÁC BÀI TOÁN TIN H C NH BÀI TOÁN Input → Process → Output (D li u vào → X lý → K t qu ra) Vi c xác nh bài toán t c là ph i xác nh xem ta ph i gi i quy t v n gì?, v i gi thi t nào ã cho và l i gi i c n ph i t nh ng yêu c u nào Khác v i bài toán thu n tuý toán h c ch c n xác nh rõ... tích c a các s ó là l n nh t Trên th c t , ta nên xét m t vài tr ng h p c th thông qua ó hi u c bài toán rõ h n và th y c các thao tác c n ph i ti n hành i v i nh ng bài toán n gi n, ôi khi ch c n qua ví d là ta ã có th a v m t bài toán quen thu c gi i II TÌM C U TRÚC D LI U BI U DI N BÀI TOÁN Khi gi i m t bài toán, ta c n ph i nh ngh a t p h p d li u bi u di n tình tr ng c th Vi c l a ch n này tu thu... '->'); Writeln(1); Writeln('Chi phi: ', MinSpending); end; |Lê Minh Hoàng} T p bài gi ng chuyên |26} Bài toán li t kê begin Enter; Init; Try(2); PrintResult; end Trên ây là m t gi i pháp nhánh c n còn r t thô s gi i bài toán ng i du l ch, trên th c t ng i ta còn có nhi u cách ánh giá nhánh c n ch t h n n a Hãy tham kh o các tài li u khác tìm hi u v nh ng ph ng pháp ó V DÃY ABC Cho tr c m t s nguyên d... nh v y ngay trong cách tìm, nó ã ti t ki m s d ng ký t 'C' nh t nên trong ph n l n các b d li u nó nhanh chóng tìm ra l i gi i h n so v i bài toán t ng ng tìm xâu ít ký t 'B' nh t |Lê Minh Hoàng} T p bài gi ng chuyên Bài toán li t kê |28} Chính vì v y mà n u nh bài yêu c u ít ký t 'B' nh t ta c l p ch ng trình làm yêu c u ít ký t 'C' nh t, ch có i u khi in k t qu , ta i vai trò 'B', 'C' cho nhau ây... Qua ó ta có th th y tính ph d ng c a thu t toán quay lui: mô hình cài t có th thích h p cho nhi u bài toán, khác v i ph ng pháp sinh tu n t , v i m i bài toán l i ph i có m t thu t toán sinh k ti p riêng làm cho vi c cài t m i bài m t khác, bên c nh ó, không ph i thu t toán sinh k ti p nào c ng d cài t Bài t p Ch ng trình trên ho t ng không t t trong tr ng h p t m th ng: k = 0 ho c n = 0; hãy kh c... ng trên ph ng di n cài t có th nên g i là k thu t vét c n b ng quay lui thì chính xác h n, tuy nhiên ng trên ph ng di n bài toán, n u nh ta coi công vi c gi i bài toán b ng cách xét t t c các kh n ng c ng là cách gi i thì tên g i Thu t toán quay |Lê Minh Hoàng} T p bài gi ng chuyên Bài toán li t kê |22} lui c ng không có gì trái logic Xét ho t ng c a ch ng trình trên cây tìm ki m quay lui ta th y t . tho mãn nhng điu kin nht đnh. Bài toán đó gi là bài toán đm cu hình t hp . Trong lp các bài toán đm, có nhng bài toán còn yêu cu ch rõ nhng. |Lê Minh Hoàng} Tp bài ging chuyên đ Bài toán lit kê |2} § § 0 0 . . G G I I I I T T H H I I U U Trong thc t, có mt s bài toán yêu cu ch