---
author: nguyencter
tags: Clique
title: Clique Solution
---
$\Huge\text{Clique Solution}$
-------
:::info
🔗 Links: [Đề bài](https://drive.google.com/file/d/17jJcDZUqUnLEjdhnLWr7zTgxrTapW-Cu/view?usp=sharing)
📌 Tags: Backtrack
✍️ Writer: nguyencter
📋 Content:
[TOC]
:::
-----
## Giới Thiệu Đề Bài
**Clique**
Cho một đồ thị vô hướng G có n đỉnh m cạnh và số nguyên k.
**Yêu cầu**: Hãy tìm một clique có kích thước bằng k
-----
## Thuật toán
Đối với bài toán này ta sử dụng phương pháp quay lui để tìm k đỉnh tạo thành 1 clique.
Nhưng vì giới hạn $N$ lớn nên ta cần đặt cận để giảm độ phức tạp.
Ta sử dụng tập hợp $P$ để lưu lại các đỉnh tạo thành clique (ban đầu $P$ rỗng).
Recur(i,j) với mỗi đỉnh từ i+1 đến N ta kiểm tra xem nếu nó có cạnh nối trực tiếp tới mỗi phần tử trong $P$ hay không, nếu có thì thay đỉnh này thành phần tử thứ j của tập $P$ còn không thì xét đến đỉnh khác.
Tiếp tục cho đến khi số lượng phần tử của $P$ bằng với k thì in ra tập $P$.
----
Tham khảo code ở [đây](https://github.com/nguyencter/CODE/blob/main/clique.cpp)