Luận văn thạc sĩ khoa học máy tính thuật toán xấp xỉ ứng dụng vào một số bài toán lớp np

20 2 0
Luận văn thạc sĩ khoa học máy tính thuật toán xấp xỉ ứng dụng vào một số bài toán lớp np

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG NGUYỄN HỮU CHUN THUẬT TỐN XẤP XỈ ỨNG DỤNG VÀO MỘT SỐ BÀI TOÁN LỚP NP LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH Thái Nguyên – 2020 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN HỮU CHUYÊN THUẬT TOÁN XẤP XỈ ỨNG DỤNG VÀO MỘT SỐ BÀI TOÁN LỚP NP LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 84 01 01 Người hướng dẫn: TS Vũ Vinh Quang Thái Nguyên - 2020 i LỜI CẢM ƠN Để hoàn thành luận văn trước tiên, em xin gửi lời cảm ơn sâu sắc tới thầy giáo hướng dẫn TS Vũ Vinh Quang tận tình hướng dẫn đưa nhiều ý kiến đóng góp cho em suốt q trình thực hồn thành luận văn Em xin gửi lời cảm ơn đến thầy giáo, cô giáo Trường Đại học Công nghệ Thông tin Truyền thông – Đại học Thái Nguyên trực tiếp giảng dạy truyền đạt kiến thức quý báu cho em suốt trình học tập trường Mặc dù cố gắng hoàn thành luận văn phạm vi khả mình, nhiên khơng tránh khỏi thiếu sót Em mong nhận cảm thông bảo quý thầy cô bạn Em xin chân thành cảm ơn ii LỜI CAM ĐOAN Tôi xin cam đoan Luận văn “Thuật toán xấp xỉ ứng dụng vào số tốn lớp NP” tơi thực hướng dẫn trực tiếp thầy TS Vũ Vinh Quang Các kết quả, số liệu nêu luận văn trung thực Tất tham khảo từ nghiên cứu liên quan nêu rõ nguồn gốc danh mục tài liệu tham khảo rõ tham khảo tài liệu Mọi chép không hợp lệ vi phạm quy chế đào tạo, tơi xin chịu hồn tồn trách nhiệm HỌC VIÊN Nguyễn Hữu Chuyên iii MỤC LỤC LỜI CẢM ƠN I LỜI CAM ĐOAN II DANH MỤC CÁC BẢNG V DANH MỤC CÁC HÌNH V LỜI MỞ ĐẦU CHƯƠNG MỘT SỐ KIẾN THỨC CƠ BẢN 1.1 Thuật toán 1.1.1 Khái niệm toán 1.1.2 Khái niệm thuật toán 1.1.3 Các yêu cầu thuật toán 1.1.4 Các phương pháp mơ tả thuật tốn 1.2 Độ phức tạp thuật toán .4 1.2.1 Chi phí phải trả cho q trình tính tốn 1.2.2 Thời gian thực giải thuật .4 1.2.3 Độ phức tạp thuật toán 1.2.4 Các qui tắc xác định độ phức tạp thuật toán 1.3 Vấn đề phân lớp toán .6 1.4 Mơ hình Bài tốn Knapsack .7 Hình 1.1 Bài tốn xếp ba lơ dạng 0-1 CHƯƠNG 13 MỘT SỐ THUẬT TOÁN XẤP XỈ 13 2.1 Khái niệm thuật toán xấp xỉ 13 2.2 Phương pháp quy hoạch động 15 2.2.1 Một số khái niệm 15 2.2.2 Các bước thực .16 2.3 Phương pháp tham lam 19 2.3.1 Giới thiệu chung 19 2.3.2 Đặc trưng phương pháp tham lam 20 2.3.3 Các thành phần .20 iv 2.3.4 Các bước xây dựng thuật toán tham lam 21 2.3.5 Mơ hình thuật toán tham lam .22 2.4 Thuật toán Di truyền GA 27 2.4.1 Giới thiệu .27 2.4.2 Các khái niệm 28 2.4.3 Thuật toán GA .29 2.4.4 Cơ chế thực GA 29 CHƯƠNG 37 MƠ HÌNH BÀI TỐN LẬP LỊCH TRONG BỆNH VIỆN 37 3.1 Đặt vấn đề 37 3.2 Giới thiệu tổng quan bệnh viện A 37 3.3 Các mơ hình phân cơng ca trực 40 3.3.1 Bài tốn phân cơng trực khoa chun mơn 41 3.3.2 Bài tốn phân cơng trực Phòng khám 45 KẾT LUẬN 60 TÀI LIỆU THAM KHẢO 61 PHẦN PHỤ LỤC 62 v DANH MỤC CÁC BẢNG STT 10 11 12 13 14 15 16 17 18 19 Tên bảng Bảng 2.1 Mô tả bảng phương án phương pháp quy hoạch động Bảng 3.1: Ma trận ràng buộc B Bảng 3.2: Ma trận ràng buộc Y Bảng 3.3: Lịch trực buổi tuần Bảng 3.4: Số buổi trực Bác sĩ – Y tá Bảng 3.5: Bảng Bác sĩ phù hợp với chun mơn phịng khám (tham lam) Bảng 3.6: Bảng Y tá phù hợp với chun mơn phịng khám (tham lam) Bảng 3.7: Bảng Bác sĩ sẵn sàng nhận buổi trực (tham lam) Bảng 3.8: Bảng Y tá sẵn sàng nhận buổi trực (tham lam) Bảng 3.9: Lịch trực phòng buổi (tham lam) Bảng 3.10: Số buổi trực Bác sĩ (tham lam) Bảng 3.11: Số buổi trực Y tá (tham lam) Bảng 3.12: Bảng Bác sĩ phù hợp với chun mơn phịng khám (GA) Bảng 3.13: Bảng Y tá phù hợp với chuyên môn phòng khám (GA) Bảng 3.14: Bảng Bác sĩ sẵn sàng nhận buổi trực (GA) Bảng 3.15: Bảng Y tá sẵn sàng nhận buổi trực (GA) Bảng 3.16: Lịch trực phòng buổi (GA) Bảng 3.17: Số buổi trực Bác sĩ (GA) Bảng 3.18: Số buổi trực Y tá (GA) DANH MỤC CÁC HÌNH STT Tên hình Khối bắt đầu (Kết thúc) Khối kiểm tra Khối tính tốn Cung định hướng Hình LỜI MỞ ĐẦU Trong thực tế, lớp toán giải thuật tốn có thời gian đa thức khơng nhiều mà chủ yếu gặp tốn tối ưu mà việc tìm lời giải tốn khơng thời gian đa thức (cịn gọi lớp NP, NPC) Để giải toán này, nói chung người ta phải xây dựng thuật tốn tìm nghiệm gần tối ưu cho tốn Các thuật toán thường gọi thuật toán xấp xỉ thuật toán gần Các thuật toán mục tiêu nghiên cứu quan trọng công nghệ thông tin đặc biệt lớp toán liệu lớn Nội dung luận văn nghiên cứu sở toán học thuật toán gần giải lớp toán thuộc lớp NP NPC, tìm hiểu chi tiết bước mơ tả thuật tốn yêu cầu thiết kế thuật toán Trên sở thuật toán nghiên cứu, luận văn phân tích số tốn thuộc lớp NP, NPC, xây dựng lời giải gần đúng, đánh giá kết Dự kiến nội dung báo cáo luận văn gồm: Phần mở đầu, chương chính, phần kết luận, tài liệu tham khảo, phụ lục Bố cục trình bày sau: Phần mở đầu luận văn đưa lý chọn đề tài hướng nghiên cứu luận văn Chương 1: Trình bày kiến thức thuật toán độ phức tạp thuật toán bao gồm: khái niệm thuật toán, Vấn đề đánh giá độ phức tạp thuật toán Phân lớp toán dựa độ phức tạp thuật tốn Chương 2: Trình bày sở toán học số thuật toán xấp xỉ bao gồm: thuật toán tham lam, thuật toán quy hoạch động, Thuật tốn GA số mơ hình thực tế toán NP, NPC như: Bài toán Knapsack , toán đổi tiền, toán Domino với thuật giải tương ứng Chương 3: Nghiên cứu mơ hình tốn lập lịch trực ca bệnh viện A Thái Nguyên bao gồm: Tìm hiểu xây dựng mơ hình tốn, xây dựng ràng buộc thực tế hàm mục tiêu, thiết lập điều kiện tối ưu Xây dựng thuật giải toán thuật toán tham lam GA cài đặt thuật tốn máy tính điện tử Tất thuật tốn tình bày luận văn cài đặt máy tính điện tử ngơn ngữ lập trình C++ Matlab 2 CHƯƠNG MỘT SỐ KIẾN THỨC CƠ BẢN VỀ THUẬT TOÁN VÀ ĐỘ PHỨC TẠP CỦA THUẬT TỐN Nội dung chương trình bày kiến thức thuật tốn độ phức tạp thuật toán bao gồm: khái niệm thuật toán, Vấn đề đánh giá độ phức tạp thuật toán Phân lớp toán dựa độ phức tạp thuật toán Các kiến thức tham khảo tài liệu [1, 2, 3, 5, 6, 7] 1.1 Thuật toán 1.1.1 Khái niệm toán Một toán tin học toán thỏa mãn: xuất phát từ INPUT đầu vào, phải thu OUTPUT đầu Một số vấn đề cần quan tâm + Bài tốn giải máy tính điện tử + Cần làm rõ: liệu cần đưa vào máy tính (Input) cần lấy (Output) thơng tin gì? + Làm để từ Input ta có Output? (Thuật toán giải) Hiển nhiên toán tin học nghiên cứu thuật toán giải toán tương ứng 1.1.2 Khái niệm thuật toán Định nghĩa 1.1: Thuật toán dãy hữu hạn thao tác xếp theo trình tự định để sau thực dãy thao tác đó, từ input ta có output cần tìm [1] Trong lý thuyết thuật tốn, cụm từ “thuật tốn” đơi người ta dùng từ khác “giải thuật” 1.1.3 Các yêu cầu thuật toán Thuật toán phải đảm bảo yêu cầu sau đây: - Tính tổng quan: thuật toán phải liệu đầu vào 3 - Tính xác định: Các bước thuật tốn phải trình bày rõ ràng, mạch lạc, đảm bảo cho người đọc hiểu theo nghĩa - Tính khả thi: Thuật tốn phải thực được, nghĩa ta sử dụng máy tính kết hợp ngơn ngữ lập trình để thể thuật toán thời gian hữu hạn - Tính dừng: Nếu liệu vào thỏa mãn điều kiện đầu vào thuật tốn phải kết thúc cho kết sau số hữu hạn bước - Tính xác (tính đắn): Thuật tốn phải cho kết xác thể đắn sở tốn học - Tính tối ưu: Thuật tốn phải có chi phí khơng gian nhớ chạy thời gian nhanh 1.1.4 Các phương pháp mơ tả thuật tốn Thuật tốn thể cách sau:  Phương pháp liệt kê: Liệt kê bước để thực thuật toán, bước ta sử dụng ký hiệu tốn học kết hợp với ngơn ngữ tự nhiên (cách dùng)  Phương pháp sử dụng sơ đồ khối Sử dụng ba loại hình khối để thể là: hình elip điểm bắt đầu hay kết thúc, hình thoi khối kiểm tra hình chữ nhật khối tính tốn Có cung định hướng để hướng thuật toán Khối bắt đầu (kết thúc) Khối kiểm tra Khối tính tốn Cung định hướng Ta kết hợp ba loại hình khối cung định hướng để biểu diễn thuật tốn  Mơ tả thuật tốn chương trình Sử dụng ngơn ngữ lập trình để thể thuật tốn, cấu trúc chặt chẽ ngơn ngữ lập trình cho phép thể thuật tốn cách rõ ràng dễ hiểu Phương pháp áp dụng rộng rãi Trong tài liệu, thủ tục thể thuật tốn thường mơ tả ngôn ngữ tựa Algol 4 1.2 Độ phức tạp thuật tốn 1.2.1 Chi phí phải trả cho q trình tính tốn Xét q trình tính tốn, chi phí phải trả cho q trình tính tốn bao gồm: + Chi phí khơng gian: nhớ - số nhớ cần sử dụng q trình tính tốn + Chi phí thời gian: thời gian cần sử dụng cho q trình tính tốn Nếu cho thuật toán A Thuật toán thực liệu e Khi thuật tốn A phải trả giá: giá không gian LA(e), giá thời gian TA(e), e liệu vào Nhận xét: thuật toán A mà xác định thực liêu khác trả giá khác Khi ta có khái niệm chi phí phải trả trường hợp sau: + Chi phí phải trả trường hợp xấu ứng với liệu xấu so với Output + Chi phí phải trả trung bình: tổng số chi phí khác ứng với số liệu chia cho tổng số số số liệu + Chi phí phải trả tiệm cận: Đó biểu thức biểu diễn tốc độ tăng chi phí thực tế phải trả Nó có giá trị tiệm cận với chi phí thực tế Nhận xét: Ngày phát triển không ngừng khoa học cơng nghệ kỹ thuật điện tử phí nhớ khơng cịn vấn đề cần thiết phải bàn tới mà ta quan tâm tới chi phí phải trả thời gian thực giải thuật Từ ta xét đến thời gian thực giải thuật T(n), độ phức tạp thuật toán 1.2.2 Thời gian thực giải thuật Với tốn, khơng có giải thuật Chọn giải thuật đưa tới kết nhanh đòi hỏi thực tế Nhưng vào đâu để nói giải thuật nhanh giải thuật kia? Có thể thấy ngay: thời gian thực giải thuật, (hay chương trình thể giải thuật đó) phụ thuộc vào nhiều yếu tố Một yếu tố cần ý trước tiên kích thước liệu đưa vào Chẳng hạn thời gian xếp dãy số phải chịu ảnh hưởng số lượng số thuộc dãy số Nếu gọi n số lượng (kích thước liệu vào) thời gian thực T giải thuật phải biểu diễn hàm n: T(n) Các kiểu lệnh tốc độ xử lý máy tính, ngơn ngữ viết chương trình chương trình dịch ngơn ngữ ảnh hưởng tới thời gian thực hiện; yếu tố không đồng với loại máy cài đặt giải thuật, khơng thể đưa chúng vào xác lập T(n) Điều có nghĩa T(n) khơng thể biểu diễn thành đơn vị thời gian giây, phút Tuy nhiên, khơng phải mà so sánh giải thuật mặt tốc độ Nếu thời gian thực giải thuật T1(n) = c.n2 thời gian thực giải thuật khác T2(n) = k.n (với c k số đó), n lớn, thời gian thực giải thuật T2 rõ ràng so với thời gian thực giải thuật T1 Như vậy, nói thời gian thực giải thuật T(n) tỉ lệ với n2 hay tỉ lệ với n cho ta ý niệm tốc độ thực giải thuật n lớn (với n nhỏ việc xét T(n) khơng có ý nghĩa) Cách đánh giá thời gian thực giải thuật độc lập với máy tính yếu tố liên quan với máy dẫn tới khái niệm cấp độ lớn thời gian thực giải thuật hay gọi độ phức tạp tính tốn giải thuật 1.2.3 Độ phức tạp thuật toán Định nghĩa 1.2 : Một hàm f(n) xác định O(g(n)), kí hiệu f(n) = O(g(n)) tồn số C số nguyên n0 cho f(n) ≤ Cg(n) với n ≥ n0 Thông thường hàm thể độ phức tạp tính tốn giải thuật có dạng: O(log2n), O(n), O(nlog2n), O(n2), O(n3), O(2n), O(n!), O(nn) Các hàm 2n, nn gọi hàm loại mũ Các dạng n3, n2, nlog2n, log2n gọi hàm loại đa thức Giải thuật với thời gian thực có cấp hàm đa thức thường hiệu chấp nhận 6 1.2.4 Các qui tắc xác định độ phức tạp thuật toán  Quy tắc tổng: Giả sử T1(n) T2(n) thời gian thực đoạn chương trình P1 P2 T1(n) = O(f(n)); T2(n) = O(g(n)) thời gian thực P1 P2 là:T1(n)+ T2(n)=O(max(f(n), g(n)))  Quy tắc nhân: Nếu tương ứng với P1 P2 T1(n)=O(f(n)); T2(n) = O(g(n)) thời gian thực P1 P2 lồng là: T1(n).T2(n) = O(f(n).g(n)) Chú ý: Trong ngơn ngữ lập trình, đánh giá + Thời gian thực câu lệnh Gán, Read, Write O(1) + Thời gian thực chuỗi câu lệnh tính theo quy tắc cộng + Thời gian thực cấu trúc If (điều kiện) then tính thời gian thực câu lệnh sau then sau else Còn câu lệnh điều kiện thường O(1) + Thời gian thực vịng lặp tính tổng tất số lần lặp thời gian thực thân vòng lặp Nếu thời gian thực thân vòng lặp số thời gian thực vịng lặp tích số lần lặp với thời gian thực thân vòng lặp 1.3 Vấn đề phân lớp tốn Xét tốn tin học bất kì, quan tâm đến tốn có lời giải Vì độ phức tạp giải thuật tốn khác nhau, sở tốn phân chia thành lớp thơng qua độ phức tạp thuật toán giải chúng Chúng ta xét khái niệm sau:  Lớp toán P (Lớp P-Polynomial time): lớp tốn giải thuật tốn đơn định đa thức có độ phức tạp đa thức  Lớp toán NP (Lớp NP - Nondeterministic Polynomial ): lớp tốn giải thuật tốn khơng đơn định đa thức Hiện chấp nhận P  NP  Lớp NPC + Khái niệm dẫn được: Bài toán B gọi dẫn toán A cách đa thức có thuật tốn đơn định đa thức để giải tốn A có thuật tốn đơn định đa thức để giải toán B ký hiệu B  A 7 + Bài tốn NP – khó (NP hard): Bài toán A gọi NP – khó có tốn L  A với  L  NP + Bài toán NP đầy đủ: Bài toán A gọi NP đầy đủ (NP-Complate) nếu: A NP-khó A  NP Từ định nghĩa lớp NPC sau: Định nghĩa 1.3: Lớp NPC lớp toán NP đầy đủ, có độ phức tạp hàm mũ Qua cho thấy: P  NPC = Ø 1.4 Mơ hình Bài tốn Knapsack Mơ hình tốn Knapsack vấn đề nghiên cứu kỷ từ năm 1897 Việc nghiên cứu toán Knapsack đưa công trình nhà tốn học Tobias Dantzig (1884-1956) Các cơng trình giới thiệu lần Gallo, Hammer Simeone vào năm 1960 Một cơng trình nghiên cứu tác giả thuộc Đại học Stony Brook năm 1998 cho thấy số 75 vấn đề toán NPC, toán Knapsack 18 toán quan trọng lĩnh vực Tốn Cơng nghệ thơng tin Bài tốn KNAPSACK - Bài tốn xếp ba lơ tốn tối ưu tổ hợp Bài toán đặt tên từ vấn đề chọn quan trọng nhét vừa vào túi (với giới hạn khối lượng) để mang theo chuyến Các toán tương tự thường xuất ngành kinh doanh, lý thuyết tổ hợp, lý thuyết độ phức tạp tính tốn, lý thuyết mật mã học số lĩnh vực toán ứng dụng Bài toán phát biểu tổng qt sau: Có N đồ vật kí hiệu x1 , , xn Mỗi đồ vật x j có giá trị p j thể tích w j , j  1, N Thể tích mà chứa ba lơ M Hãy xác định phương án chọn đồ vật để cho: số đồ vật chứa vừa ba lô tổng giá trị đồ vật chọn lớn 8 Hình 1.1 Bài tốn xếp ba lơ dạng 0-1 Hình 1.1 ví dụ tốn xếp ba lơ giới hạn chiều: chọn hộp để làm cực đại lượng tiền giữ tổng khối lượng 15 kg? Bài tốn đa chiều xét đến khối lượng riêng kích thước hộp, tốn xếp vali điển hình Trong lớp toán Knapsack, người ta thường đưa số dạng tốn điển sau: + Bài xếp ba lơ 0-1 tốn khơng hạn chế số đồ vật thuộc loại, tốn mơ hình hóa sau: Cực đại hóa n hàm F ( X )   p j x j cho j 1 n w j 1 j xj  M X   x1 , x2 , , xn  , x j  0,1 , j  1, n + Bài xếp ba lô bị chặn hạn chế số đồ vật thuộc loại không vượt lượng xác định Bài xếp ba lô bị chặn phát biểu mơ hình tốn học sau: n Cực đại hóa hàm F ( X )   p j x j cho j 1 n w j 1 j x j  M X   x1 , x2 , , xn  , x j   0,1 , x j  0, b j  , b j  N , j  1, n 9 Một trường hợp đặc biệt toán Knapsack tốn thỏa mãn tính chất sau đây:  Là toán định  Là tốn xếp ba lơ dạng 0-1  Phương án tối ưu số đồ vật xếp vừa khít ba lơ Đối với dạng toán này, thực tế thường xuất dạng sau đây: Dạng 1: Cho trước tập số nguyên, tồn hay không tập có tổng 0? Dạng 2: Cho tập số nguyên dương, tồn hay khơng tập có tổng M ? Các toán gọi toán tổng tập (subset sum problem) sử dụng nhiều ngành mật mã học Tổng qt hóa, từ mơ hình tốn KNAPSACK có nhiều cách phát biểu khác Sau số cách phát biểu toán: Bài toán tập cực đại: Cho tập hữu hạn U  ui  , i  1, n , phần tử ui  U có kích cỡ S (ui ) số tự nhiên B Hãy xác định tập U '  U cho  S (u )  B Trong đó, ui  U ' i Knapsack thuộc lớp tốn NPC Nói chung khơng có thuật tốn hữu hiệu để giải cho trường hợp Điều khơng có nghĩa tất trường hợp có độ phức tạp Nhận xét: + Bài tốn xác định lời giải xác bẳng thuật tồn duyệt tồn theo tư tưởng sau: Hãy duyệt tổ hợp đồ vật, ứng với tổ hợp (i1,i2, ,ik) thử điều kiện w(i1)+w(i2)+…+w(ik) = M để xác định nghiệm Khi số phương án duyệt C n1 + C n2 + C nn - + C nn ; 2n tức có độ phức tạp thuật toán hàm mũ 10 + Chúng ta giải tốn thuật tốn khơng đơn định đa thức sau: sử dụng hàm: CHOICE(0,1): hàm chọn đồ vật Khi toán đưa toán sau Liệu có tồn tập số T  {1,2, ,n} thỏa mãn w iT i M Khi tốn giải thuật toán sau đây: For i:=1 to n xi:= CHOICE({0,1}); n if x a i 1 i i =B then TRUE else FALSE Thuật toán trở thành thuật tốn khơng đơn định đa thức với độ phức tạp O(n) + Bài tốn đưa dạng tổng quát cách thay Output bằng: “Hãy xác định nhóm đồ vật đặt balo cho phần thừa cịn lại nhất” Khi việc giải toán thực tương tự, nhiên phải đưa thêm hàm mục tiêu f=b-(a(i1)+a(i2)+…+a(ik)) Khi phương án cần xác định phương án thỏa mãn f đạt giá trị nhỏ (f>=0)  Bài toán KNASPACK mở rộng Input: + Cho n đồ vật, đồ vật thứ i tích wi, có giá trị pi + Cho ba lơ tích M Output: Hãy xác định nhóm đồ vật thỏa mãn: tổng thể tích khơng vượt q ba lô đồng thời tổng giá trị lớn Nhận xét: + Bài tốn xác định lời giải xác thuật tốn duyệt tồn theo tư tưởng sau: Kí hiệu (x 1, x , x n ) phương án lựa chọn đồ vật với x i Ỵ {0,1} Khi duyệt phương án (x 1, x , x n ) , ứng với phương án xác định điều kiện w1x + w2x + + wn x n £ M Nếu thỏa mãn 11 xác định tiếp giá trị hàm mục tiêu f (X ) = p1x + p2x + + pn x n từ xác định phương án tốt Hiển nhiên toán đưa tốn duyệt dãy nhị phân có độ dài n với độ phức tạp hàm mũ Thuật toán giải mô tả sau: using namespace std; int X[N],W[N],M,P[N],n,fmax,Xluu[N]; void input() { coutn; coutM; cout

Ngày đăng: 28/02/2023, 20:12

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan