Bài 5: Thuật toán tìm kiếm theo chiều rộng BFS pascal c++

Thuật toán tìm kiếm theo chiều rộng BFS là thuật toán tìm kiếm trong đồ thị bằng cách tìm kiếm dựa trên 2 thao tác chính là: cho trước một đỉnh của đồ thị và thêm các đỉnh kề với nó vào danh sách chờ duyệt. Phương pháp cài đặt này là “lập lịch” để […]

Continue reading


MMASS PTIT121E spoj – Nguyên tố hóa học

Nguồn đề bài: http://vn.spoj.com/problems/MMASS/ 1. Đề bài MMASS PTIT121E spoj Hóa chất chỉ gồm các nguyên tố C, H, O có trọng lượng 12,1, 16 tương ứng. Nó được biểu diễn dạng “nén”, ví dụ COOHHH là CO2H3 hay CH (CO2H) (CO2H) (CO2H) là CH(CO2H)3. Nếu ở dạng nén thì số lần lặp >=2 và <=9. Tính […]

Continue reading


Cấu trúc dữ liệu Disjoint Sets

Nguồn đề bài: http://www.spoj.com/KSTN/problems/DS2509/ 1. Đề bài Cấu trúc dữ liệu Disjoint Sets Disjoint-set hiểu 1 cách đơn giản là 1 cách lưu trữ các tập hợp phần tử của 1 tập lớn cho trước. Các phép toán thường được quan tâm tới trong disjoint-set là: MakeSet(i): tạo ra 1 tập chỉ có i. FindSet(i): tìm tập […]

Continue reading


Code Đường đi Euler – Euler paths

Nguồn đề bài: http://www.spoj.com/KSTN/problems/EULER/ 1. Đề bài Đường đi Euler Một đường đi trong đồ thị G=(X,E) được gọi là đường đi Euler nếu nó đi qua tất cả các cạnh của đồ thị, mỗi cạnh đúng một lần. Đường đi Euler có đỉnh cuối cùng trùng với đỉnh xuất phát gọi là chu trình Euler. […]

Continue reading