Các nội dung chính trong buổi này:
- Đệ quy
- Đệ quy
- Đệ quy có nhớ
- Quay lui
- Nhị phân
- Tập con
- Hoán vị
- Phân tích
- Đặt hậu
- Nhánh cận
- Bài toán người bán hàng (TSP – Traveling Salesman Problem)
- Bài tập
Tài liệu đính kèm:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include <iostream> using namespace std; const int MAX = 100; int a[MAX], n = 20, dem = 0; // in phuong an xep hau void print() { dem++; cout << "Phuong an thu " << dem << ":" << endl; for (int i = 1; i <= n; i++, cout << endl) for (int j = 1; j <= n; j++) if (j == a[i]) cout << " x"; else cout << " ."; } bool check(int h, int c) { // kiem tra cot for (int i = 1; i < h; i++) if (c == a[i]) return false; // kiem tra duong cheo chinh for (int i = 1; i < h; i++) if (c-h == a[i]-i) return false; // kiem tra duong cheo chinh for (int i = 1; i < h; i++) if (c+h == a[i]+i) return false; return true; } // dat quan hau o dong thu k void dat(int k) { if (k > n) { print(); return; } for (int i = 1; i <= n; i++) if (check(k, i)) { a[k] = i; dat(k+1); } } int main() { dat(1); } </iostream> |
Bình luận mới