Bài tập toán rời rạc và nhập môn lý thuyết đô thị

Bài 1.1. Với mỗi trường hợp sau, vẽ các mô hình đồ thị biểu diễn các đường bay và nói rõ về loại đồ thị được dùng. Trong đó lịch bay mỗi ngày như sau: - Từ TP .HCM: có một chuyến đến Hà Nội, một chuyến đến Đà Nẵng,một chuyến đến Phú Quốc, một chuyến đến Nghệ An, một chuyến đến Hải Phòng;

pdf29 trang | Chia sẻ: haohao89 | Lượt xem: 5216 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài tập toán rời rạc và nhập môn lý thuyết đô thị, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BÀI TẬP Toán rời rạc và Nhập môn lý thuyết đồ thị Tài liệu học tập dành cho sinh viên Khoa CNTT - UEF Phiên bản 1.0 2008 MỤC LỤC PHẦN 1 BÀI TẬP...........................................................................................3 CHƯƠNG 1 QUAN HỆ .......................................................................................4 A. Bài tập củng cố lý thuyết..........................................................................4 1Quan hệ và các tính chất của nó................................................................4 2Quan hệ n-ngôi và ứng dụng......................................................................4 B. Bài tập thực hành trên máy tính.............................................................4 C. Viết tiểu luận.............................................................................................4 CHƯƠNG 2 ĐỒ THỊ ...........................................................................................5 A. Bài tập củng cố lý thuyết..........................................................................5 1Giới thiệu......................................................................................................5 2Các thuật ngữ đồ thị....................................................................................6 3Biểu diễn các đồ thị và sự đẳng cấu đồ thị ...............................................9 4Tính liên thông...........................................................................................10 5Các đường đi Euler và Hamilton.............................................................12 6Các bài toán đường đi ngắn nhất.............................................................14 B. Bài tập thực hành trên máy tính...........................................................15 C. Viết tiểu luận...........................................................................................16 CHƯƠNG 4 ĐỘ PHỨC TẠP TÍNH TOÁN .....................................................16 A. Bài tập củng cố lý thuyết........................................................................16 1Dãy và phép tính tổng...............................................................................16 2Độ tăng của hàm........................................................................................17 3Thuật toán..................................................................................................18 4Độ phức tạp của thuật toán......................................................................19 1 5Các kỹ thuật thiết kế thuật toán..............................................................20 6Độ phức tạp thuật toán qua các ví dụ......................................................20 B. Bài tập thực hành trên máy tính...........................................................21 C. Viết tiểu luận...........................................................................................22 PHẦN 2 LỜI GIẢI VÀ HƯỚNG DẪN.........................................................................23 CHƯƠNG 1 QUAN HỆ .....................................................................................24 A. Bài tập củng cố lý thuyết........................................................................24 1Quan hệ và các tính chất của nó..............................................................24 2Quan hệ n-ngôi và ứng dụng....................................................................24 B. Bài tập thực hành trên máy tính...........................................................24 C. Viết tiểu luận...........................................................................................24 CHƯƠNG 2 ĐỒ THỊ .........................................................................................25 A. Bài tập củng cố lý thuyết........................................................................25 1Giới thiệu....................................................................................................25 2Tiêu đề mục 2.............................................................................................26 B. Bài tập thực hành trên máy tính...........................................................26 C. Viết tiểu luận...........................................................................................26 2 Chương 2. Quan hệ PHẦN 1 BÀI TẬP 3 Chương 2. Quan hệ CHƯƠNG 1 QUAN HỆ A. Bài tập củng cố lý thuyết 1 Quan hệ và các tính chất của nó Bài 1.1. Nội dung Bài 1.2. Nội dung …. 2 Quan hệ n-ngôi và ứng dụng Bài 2.1. Nội dung Bài 2.2. Nội dung …. B. Bài tập thực hành trên máy tính Bài 1. Nội dung Bài 2. Nội dung …. C. Viết tiểu luận Bài 1. Nội dung Bài 2. Nội dung …. 4 Chương 2. Quan hệ CHƯƠNG 2 ĐỒ THỊ A. Bài tập củng cố lý thuyết 1 Giới thiệu Bài 1.1. Với mỗi trường hợp sau, vẽ các mô hình đồ thị biểu diễn các đường bay và nói rõ về loại đồ thị được dùng. Trong đó lịch bay mỗi ngày như sau: - Từ TP.HCM: có một chuyến đến Hà Nội, một chuyến đến Đà Nẵng, một chuyến đến Phú Quốc, một chuyến đến Nghệ An, một chuyến đến Hải Phòng; - Từ Hà Nội: có hai chuyến đến TP.HCM, một chuyến đến Đà Nẵng, một chuyến đến Nghệ An, một chuyến đến Hải Phòng; - Từ Đà Nẵng: có một chuyến đến Hải Phòng, hai chuyến bay đến TP.HCM; một chuyến đến Hà Nội; - Từ Nghệ An: có một chuyến đến Hà Nội, một chuyến đến TP.HCM; - Từ Hải Phòng: có một chuyến đến Hà Nội, một chuyến đến TP.HCM, và một chuyến đến Đà Nẵng; - Từ Phú Quốc: có một chuyến đến TP.HCM. a) Đồ thị biểu diễn các thành phố có chuyến bay giữa chúng. b) Đồ thị biểu diễn số chuyến bay hoạt động giữa các thành phố, cộng với một khuyên biểu thị chuyến du lịch đặc biệt ngắm cảnh thành phố, cất và hạ cánh tại Phú Quốc. c) Đồ thị biểu diễn đầy đủ thông tin về hướng bay và số chuyến bay giữa các thành phố. Bài 1.2. Xác định xem đồ thị nào sau đây là đồ thị đơn, đa đồ thị, đồ thị có hướng. 5 Chương 2. Quan hệ Bài 1.3. Trong trận đấu vòng tròn, đội H thắng đội G, đội C, và đội A; đội G thắng đội A và đội C; đội C thắng đội A. Hãy mô hình hóa kết quả này bằng một đồ thị có hướng. …. 2 Các thuật ngữ đồ thị Bài 2.1. Xác định số lượng các đỉnh, số lượng các cạnh, và bậc của các đỉnh trong các đồ thị sau. Cho biết đỉnh nào là đỉnh cô lập, đỉnh nào là đỉnh treo. 6 a) b) c) d) ca f e d a) b Chương 2. Quan hệ Bài 2.2. Tìm tổng các bậc của các đỉnh trong các đồ thị ở các Bài 2.1, và kiểm chứng rằng nó bằng hai lần số các cạnh trong đồ thị. Bài 2.3. Có thể tồn tại một đồ thị đơn có 15 đỉnh, mỗi đỉnh có bậc bằng 5 không? Tại sao? Bài 2.4. Trong một buổi chiêu đãi, mọi người đều bắt tay nhau. Chứng tỏ rằng tổng số người được bắt tay là một số chẵn. Giả sử không ai tự bắt tay mình. Bài 2.5. Xác định số đỉnh, số cạnh, số bậc vào và số bậc ra của mỗi đỉnh đối với đồ thị có hướng sau. 7 a e d c b) b b h g e c) c d if a a d c b Chương 2. Quan hệ Bài 2.6. Hãy xác định tổng các bậc vào và tổng các bậc ra các đỉnh của đồ thị trong bài 2.5 một cách trực tiếp. Chứng tỏ rằng chúng đều bằng tổng các cạnh của đồ thị. Bài 2.7. Đồ thị sẽ có bao nhiêu cạnh nếu nó có các đỉnh bậc 4, 3, 3, 2, 2. Vẽ một đồ thị như vậy. Bài 2.8. Có tồn tại đồ thị đơn chứa năm đỉnh với các bậc sau đây? Nếu có hãy vẽ đồ thị đó. a) 3, 3, 3, 3, 2. b) 1, 2, 3, 4, 5. c) 1, 2, 3, 4, 4. Bài 2.9. Vẽ tất cả các đồ thị con của đồ thị sau. Bài 2.10. Tìm hợp của các cặp đồ thị đơn sau 8 a c d b a b c d e f f b da) Chương 2. Quan hệ 3 Biểu diễn các đồ thị và sự đẳng cấu đồ thị Bài 3.1. Dùng danh sách kề biểu diễn các đồ thị sau. Bài 3.2. Biểu diễn các đồ thị trong bài 3.1 bằng ma trận kề. Bài 3.3. Vẽ các đồ thị ứng với ma trận kề được cho như sau. a) 0 1 0 1 0 1 0 1 0          b) 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 0             c) 1 1 1 0 0 0 1 0 1 0 1 0 1 1 1 0             Bài 3.4. Dùng ma trận liên kết để biểu diễn các đồ thị trong Bài 3.1. Bài 3.5. Xác định xem các cặp đồ thị đã cho có là đẳng cấu không. 9 ba dc e a f b e dgc b) a c d b a) a d c b b) Chương 2. Quan hệ 4 Tính liên thông Bài 4.1. Các danh sách đỉnh sau đây có tạo nên đường đi trong đồ thị bên dưới hay không? Đường đi nào là đơn? Đường đi nào là chu trình? Độ dài của các đường đi này là bao nhiêu? a) (a, e, b, c, b) b) (a, e, a, d, b, c, a) c) (e, b, a, d, b, e) 10 u 4 u 5 u 2 u 3 v 1 v 2 v 4 v 5 u 1 v 3 a) Chương 2. Quan hệ d) (c, b, d, a, e, c) Bài 4.2. Các danh sách đỉnh sau đây có tạo nên đường đi trong đồ thị bên dưới hay không? Đường đi nào là đơn? Đường đi nào là chu trình? Độ dài của các đường đi này là bao nhiêu? a) (a, b, e, c, b) b) (a, d, a, d, a) c) (a, d, b, e, a) d) (a, b, e, c, b, d, a) Bài 4.3. Xác định xem các đồ thị đã cho có liên thông không. Bài 4.4. Có bao nhiêu thành phần liên thông trong các đồ thị ở các Bài tập 4.3? Tìm các thành phần liên thông đó. Bài 4.5. Tìm tất cả các đỉnh cắt và cạnh cắt của đồ thị. 11 Chương 2. Quan hệ 5 Các đường đi Euler và Hamilton Bài 5.1. Xác định xem có tồn tại chu trình Euler trong các đồ thị sau hay không. Vẽ chu trình đó khi nó tồn tại. Bài 5.2. Xác định xem các đồ thị trong Bài 5.1 có đường đi Euler không. Vẽ các đường đi đó nếu có. Bài 5.3. Xác định xem có thể vẽ các bức tranh sau bằng một nét liền, không nhấc bút lên khỏi mặt giấy không? Bài 5.4. Xác định sự tồn tại chu trình Euler trong các đồ thị có hướng sau. Vẽ các chu trình này nếu chúng tồn tại. 12 Chương 2. Quan hệ Bài 5.5. Xác định xem đồ thị có hướng trong Bài 5.4 có đường đi Euler hay không. Vẽ các đường đi Euler này nếu có. Bài 5.6. Xác định đồ thị đã cho có chứa chu trình Hamilton hay không. Nếu có hãy tìm một chu trình như thế. Nếu không có hãy giải thích lý do vì sao không tồn tại. 13 Chương 2. Quan hệ Bài 5.7. Đồ thị trong Bài 5.6 có đường đi Hamilton không? Nếu có, hãy tìm đường đó. Nếu không có, cho biết lý do tại sao không tồn tại một đường đi như vậy. 6 Các bài toán đường đi ngắn nhất Bài 6.1. Tìm chiều dài của đường đi ngắn nhất giữa a và z trong đồ thị có trọng số sau đây 14 Chương 2. Quan hệ Bài 6.2. Tìm độ dài của đường đi ngắn nhất giữa các cặp đỉnh sau đây trong các đồ thị có trọng số ở Bài 6.1. a) a và d b) a và f c) c và f d) b và z B. Bài tập thực hành trên máy tính Viết các chương trình với các đầu vào và đầu ra như sau: Bài 1. Một đồ thị cho trước bởi danh sách kề. Xác định bậc các đỉnh của đồ thị này. Bài 2. Một đồ thị cho trước bởi danh sách kề. Xác định xem đồ thị này có là đồ thị lưỡng phân hay không? Bài 3. Một đồ thị cho trước bởi danh sách kề. Xây dựng ma trận kề mô tả đồ thị đó. Bài 4. Một đồ thị cho trước bởi ma trận kề. Liệt kê các cạnh của đồ thị này. Bài 5. Một đồ thị cho trước bởi ma trận liên kết. Liệt kê các cạnh của đồ thị này. 15 Chương 2. Quan hệ C. Viết tiểu luận Bài 1. Tìm hiểu nguồn gốc và sự phát triển của lý thuyết đồ thị trước thế kỷ 20. Bài 2. Tìm hiểu một số thuật toán hiện có để xác định tính đẳng cấu của hai đồ thị, cùng với độ phức tạp tính toán của những thuật toán này. Hiện nay, thuật toán nào trong số đó có hiệu quả cao nhất. Bài 3. Tìm hiểu bài toán người đưa thư (travelling salesman problem). Bài 4. Tìm hiểu bài toán tô màu đồ thị (graph coloring). CHƯƠNG 4 ĐỘ PHỨC TẠP TÍNH TOÁN A. Bài tập củng cố lý thuyết 1 Dãy và phép tính tổng Bài 1.1. Tìm số hạng a8 của dãy {an} nếu an bằng a) 2n-1 b) 7 c) 1 + (– 1)n d) –(–2)n Bài 1.2. Tìm các số hạng a0, a1, a2, và a3 của dãy {an} với an bằng a) (–2)n b) 3 c) 7 + 4n d) 2n + (–2)n Bài 1.3. Liệt kê 10 số hạng đầu của các dãy sau: a) Dãy có được bằng cách bắt đầu từ 10 và các số hạng sau là các số hạng đứng trước trừ đi 3. b) Dãy có số hạng thứ n là tổng của n số nguyên dương đầu tiên. c) Dãy có số hạng thứ n là 3n – 2n. 16 Chương 2. Quan hệ Bài 1.4. Tìm ít nhất ba dãy khác nhau bắt đầu với các số hạng 1, 2, 4 và các số hạng sau được tạo ra bởi một công thức hay quy luật đơn giản nào đó. Bài 1.5. Đối với mỗi liệt kê các số nguyên sau đây, hãy tìm một công thức hay luật đơn giản để tạo ra các số hạng của dãy số nguyên bắt đầu với liệt kê đã cho. a) 3, 6, 11, 18, 27, 38, 51, 66, 83, 102, … b) 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, … c) 1, 10, 11, 100, 101, 111, 1000, 1001, 1010, 1011, … Bài 1.6. Tính giá trị của các tổng sau đây, với S = {1, 3, 5, 7}. a) j S j   b) 2 j S j   c) j S 1 j  d) j S 1   . Bài 1.7. Tính giá trị của các tổng sau: a)   8 j j 0 1 ( 1)    b)   8 j j j 0 3 2   d)   8 j 1 j j 0 2 2   . Bài 1.8. Tính các tổng kép sau đây: a) 3 2 i 1 j 1 (i j)    b) 3 2 i 0 j 0 (3i 2 j)    c) 3 2 i 1 j 0 j    . Bài 1.9. Tính tổng 200 3 k 99 k   2 Độ tăng của hàm Bài 2.1. Xác định các hàm sau đây có phải là O(x2) hay không? a) f(x) = 17x + 11 b) f(x) = x2 + 1000. c) f(x) = x log x d) f(x) = x4/2 Bài 2.2. Dùng định nghĩa f(x) là O(g(x)) để chứng minh 2x + 17 là O(3x). 17 Chương 2. Quan hệ Bài 2.3. Chứng minh rằng 3x 2x 2x 1   là O(x2). Bài 2.4. Tìm số nguyên n nhỏ nhất để có f(x) là O(xn) đối với các hàm sau: a) f(x) = 2x2 + x3 log x b) f(x) = 4 2 4 x x 1 x 1    . Bài 2.5. Chứng minh rằng x3 là O(x4) nhưng x4 không phải là O(x3). Bài 2.6. Xác định xem x3 có là O(g(x)) hay không đối với các hàm g sau: a) g(x) = x2 b) g(x) = x3/2 c) g(x) = x2 + x3 d) g(x) = x2 + x4 Bài 2.7. Chứng minh rằng nếu f(x) là O(x) thì f(x) cũng là O(x2). Bài 2.8. Cho k là một số nguyên dương. Chứng minh rằng 1k + 2k + … + nk là O(nk+1). Bài 2.9. Đối với từng hàm trong bài 2.1, hãy xác định hàm đó có là Ω(x2) không? Và có là Θ(x2) không? Bài 2.10. Chứng minh rằng a) 3x + 7 là Θ(x) b) 2x2 + x – 7 là Θ(x2) 3 Thuật toán Bài 3.1. Xây dựng thuật toán tính xn, với x là số thực và n là số nguyên. (Gợi ý: trước hết đưa ra thủ tục tính xn khi n không phải số âm bằng cách nhân liên tục với x, bắt đầu từ 1. Sau đó mở rộng thủ tục này và dùng quan hệ x-n = 1/xn để tính xn khi n âm.) Bài 3.2. Trình bày thuật toán chỉ dùng các lệnh gán để đổi chỗ bộ ba (x, y, z) thành (y, z, x). Cần dùng tối thiểu bao nhiêu lệnh gán? Bài 3.3. Liệt kê tất cả các bước cần tiến hành để tìm (nhị phân) số 7 trong dãy số đã sắp tăng 1, 3, 4, 5, 6, 8, 9, 11. Bài 3.4. Trình bày thuật toán tìm số nguyên nhỏ nhất trong một dãy hữu hạn các số tự nhiên. 18 Chương 2. Quan hệ Bài 3.5. Trình bày thuật toán xác định vị trí xuất hiện cuối cùng của phần tử nhỏ nhất trong một danh sách hữu hạn các số nguyên, trong đó các số nguyên không nhất thiết phải khác nhau. Bài 3.6. Trình bày thuật toán tìm cả số lớn nhất lẫn số bé nhất trong dãy hữu hạn các số nguyên. 4 Độ phức tạp của thuật toán Bài 4.1. Viết thuật toán dùng để xếp bốn số hạng đầu của một danh sách có độ dài tuỳ ý theo thứ tự tăng dần. Chứng minh rằng thuật toán này có độ phức tạp thời gian là O(1), được tính thông qua số lượng các phép so sánh được sử dụng. Bài 4.2. Xác định số lượng phép nhân được dùng để tính k2x bắt đầu với x rồi bình phương liên tiếp (để tìm x2, x4, …). Cách này có hiệu quả hơn cách nhân x với chính nó một số lần thích hợp hay không? Bài 4.3. a) Chứng tỏ thuật toán sau có khả năng xác định số lượng bit 1 trong xâu bit S Procedure đếm_bit(S: xâu_bit) count := 0 while S0 begin count := count + 1 S := S AND (S – 1) end {count sẽ là số lượng các bit 1 trong S} Các phép toán của dòng lệnh S := S AND (S – 1) đều là phép toán bit. b) Cần phải thực hiện bao nhiêu phép AND bit để tìm số lượng bit 1 trong một xâu bit có độ dài bằng n. Bài 4.4. Phương pháp Horner dùng để tính giá trị đa thức anxn + an-1xn-1 + … + a1x + a0 tại x = c như sau: Procedure Horner(c, a0, a1, …, an: những số thực) y : = an for i := 1 to n 19 Chương 2. Quan hệ y := y*c + an-i {y = ancn + an-1cn-1 + … + a1c + a0} a) Tính giá trị 3x2 + x + 1 tại x = 2 bằng cách thực hiện từng bước thuật toán trên. b) Có chính xác bao nhiêu phép nhân và phép cộng được thuật toán đó sử dụng để tính giá trị một đa thức bậc n ở x = c? (không kể các phép cộng được dùng để tăng biến vòng lặp.) Bài 4.5. Một thuật toán sẽ mất bao nhiêu thời gian để giải một bài toán có kích thước n, nếu thuật toán đó dùng 2n2 + 2n phép tính bit, mỗi phép mất 10-9 giây, với các giá trị của n như sau: a) 10 b) 20 c) 50 d) 100. Bài 4.6. Xác định số lượng phép so sánh ít nhất (hay hiệu năng trong trường hợp tốt nhất) a) cần thiết để xác định số lớn nhất trong một dãy số nguyên. b) được dùng để xác định vị trí một phần tử trong dãy có n số hạng khi dùng thuật toán tìm kiếm nhị phân. 5 Các kỹ thuật thiết kế thuật toán Bài 5.1. Đưa ra một thuật toán đệ quy để tính tổng của n số nguyên dương đầu tiên. Bài 5.2. Đưa ra một thuật toán đệ quy để tìm số lớn nhất của tập hữu hạn các số nguyên. Bài 5.3. Đưa ra thuật toán đệ quy để tìm n2a trong đó a là một số thực và n là một số nguyên dương. (Gợi ý: Dùng đẳng thức  n 1 n 22 2a a  .) Bài 5.4. Thành lập một thuật toán đệ quy để tìm số hạng thứ n của dãy được định nghĩa: a0 = 1, a1 = 2, a2 = 3, và an = an-1 + an-2 + an-3 với n = 3, 4, 5, … 6 Độ phức tạp thuật toán qua các ví dụ Bài 6.1. Nhân (1110)2 với (1010)2 bằng thuật toán nhân nhanh Karatsuba. Bài 6.2. Tính thời gian thực hiện của các đoạn chương trình sau: 20 Chương 2. Quan hệ a) Tính tổng của các số {1} Sum := 0; {2} for i:=1 to n do begin {3} readln(x); {4} Sum := Sum + x; end; b) Tính tích hai ma trận vuông cấp n: C = A*B: {1} for i := 1 to n do {2} for j := 1 to n do begin {3} c[i,j] := 0; {4} for k := 1 to n do {5} c[i,j] := c[i,j] + a[i,k] * b[k,j]; end; B. Bài tập thực hành trên máy tính Viết các chương trình với các đầu vào và đầu ra như sau: Bài 1. Cho a, r và n là các số nguyên không âm. Tìm tổng của cấp số nhân a, ar, ar2, …, arn. Bài 2. Nhập một xâu ký tự. Xuất ra nghịch đảo của nó. Bài 3. Cho trước một số thực a và số nguyên không âm n. Dùng đệ quy tính an. Bài 4. Cho hai số nguyên không đồng thời bằng không. Tìm ước chung nhỏ nhất của chúng bằng phép đệ quy. Bài 5. Cho một danh sách các số nguyên và một phần tử x, xác định vị trí x trong danh sách bằng cách cài đặt đệ quy thuật toán tìm kiếm nhị phân. Bài 6. Cho trước một số nguyên không âm n. Dùng phương pháp đệ quy để tìm số Fibonacci thứ n. 21 Chương 2. Quan hệ C. Viết tiểu luận Bài 1. Trình bày khái niệm gốc của khái niệm O. Giải thích về cách mà tác giả và những người khác đã dùng khái niệm này. …. 22 Chương 2. Quan hệ PHẦN 2 LỜI GIẢI VÀ HƯỚNG DẪN 23 Chương 2. Quan hệ CHƯƠNG 1 QUAN HỆ A. Bài tập củng cố lý thuyết 1 Quan hệ và các tính chất của nó Bài 1.1. Nội dung Bài 1.2. Nội dung …. 2 Quan hệ n-ngôi và ứng dụng Bài 2.1. Nội dung Bài 2.2. Nội dung …. B. Bài tập thực hành trên máy tính Bài 1. Nội dung Bài 2. Nội dung …. C. Viết tiểu luận Bài 1. Nội dung Bài 2. Nội dung …. 24 Chương 2. Quan hệ CHƯƠNG 2 ĐỒ THỊ A. Bài tập củng cố lý thuyết 1 Giới thiệu Bài 1.1. Các đồ thị mô tả cho từng trường hợp như sau a) Đồ thị vô hướng b) Đa đồ thị vô hướng c) Đa đồ thị có hướng 25 Phú Quốc Nghệ An Hà Nội Hải PhòngĐà Nẵng TP. HCM Phú Quốc Nghệ An Hà Nội Hải PhòngĐà Nẵng TP. HCM Chương 2. Quan hệ Bài 1.2. Nội dung …. 2 Tiêu đề mục 2 Bài 2.1. Nội dung Bài 2.2. Nội dung …. B. Bài tập thực hành trên máy tính Bài 1. Nội dung Bài 2. Nội dung …. C. Viết tiểu luận Bài 1. Nội dung Bài 2. Nội dung …. 26 Phú Quốc Nghệ An Hà Nội Hải PhòngĐà Nẵng TP. HCM Chương 2. Quan hệ 27
Tài liệu liên quan