А если так?
Взяли граф, хотим найти независимое множество из
![$n$ $n$](https://dxdy-02.korotkov.co.uk/f/5/5/a/55a049b8f161ae7cfeb0197d75aff96782.png)
вершин. Взяли по переменной
![$x_i$ $x_i$](https://dxdy-02.korotkov.co.uk/f/9/f/c/9fc20fb1d3825674c6a279cb0d5ca63682.png)
для каждой вершины (будет
![$0$ $0$](https://dxdy-03.korotkov.co.uk/f/2/9/6/29632a9bf827ce0200454dd32fc3be8282.png)
, если вершина не входит в множество, и
![$1$ $1$](https://dxdy-01.korotkov.co.uk/f/0/3/4/034d0a6be0424bffe9a6e7ac9236c0f582.png)
, если входит),
![$y_j$ $y_j$](https://dxdy-04.korotkov.co.uk/f/f/b/a/fba353e8e83ce14fc4a80553757972f782.png)
для каждого ребра (будет
![$0$ $0$](https://dxdy-03.korotkov.co.uk/f/2/9/6/29632a9bf827ce0200454dd32fc3be8282.png)
, если одна из инцидентных ребру вершин входи в множество,
![$1$ $1$](https://dxdy-01.korotkov.co.uk/f/0/3/4/034d0a6be0424bffe9a6e7ac9236c0f582.png)
, если не входит).
Для каждого ребра
![$k$ $k$](https://dxdy-03.korotkov.co.uk/f/6/3/b/63bb9849783d01d91403bc9a5fea12a282.png)
, соединяющего вершины
![$i$ $i$](https://dxdy-04.korotkov.co.uk/f/7/7/a/77a3b857d53fb44e33b53e4c8b68351a82.png)
и
![$j$ $j$](https://dxdy-04.korotkov.co.uk/f/3/6/b/36b5afebdba34564d884d347484ac0c782.png)
пишем
![$x_i + x_j + y_k = 1$ $x_i + x_j + y_k = 1$](https://dxdy-04.korotkov.co.uk/f/f/f/9/ff9db4c33c59444cf7fcce80d252c71482.png)
. Пишем уравнение
![$\sum\limits_i x_i = n$ $\sum\limits_i x_i = n$](https://dxdy-01.korotkov.co.uk/f/c/1/0/c10303f11431e2637700664417927c9082.png)
. Далее перебираем все варианты, сколько нулей среди значений переменных (число вариантов линейно по размеру графа).
Делаем независимое множество из решения: берем все вершины, соответствующие равным единице
![$x$ $x$](https://dxdy-04.korotkov.co.uk/f/3/3/2/332cc365a4987aacce0ead01b8bdcc0b82.png)
. Оно независимо, т.к. если бы вершины
![$i$ $i$](https://dxdy-04.korotkov.co.uk/f/7/7/a/77a3b857d53fb44e33b53e4c8b68351a82.png)
и
![$j$ $j$](https://dxdy-04.korotkov.co.uk/f/3/6/b/36b5afebdba34564d884d347484ac0c782.png)
из него соединялись ребром
![$k$ $k$](https://dxdy-03.korotkov.co.uk/f/6/3/b/63bb9849783d01d91403bc9a5fea12a282.png)
, то было бы
![$x_i + x_j + y_k \geqslant 2$ $x_i + x_j + y_k \geqslant 2$](https://dxdy-02.korotkov.co.uk/f/d/7/3/d735061c2f20cac9026045176165407082.png)
.
Делаем решение из независимого множества: говорим, что у нас число единиц равно
![$n$ $n$](https://dxdy-02.korotkov.co.uk/f/5/5/a/55a049b8f161ae7cfeb0197d75aff96782.png)
плюс число ребер, не соединенных ни с одной вершиной из независимого множества. Если
![$i$ $i$](https://dxdy-04.korotkov.co.uk/f/7/7/a/77a3b857d53fb44e33b53e4c8b68351a82.png)
-я вершина принадлежит множеству, берем
![$x_i = 1$ $x_i = 1$](https://dxdy-02.korotkov.co.uk/f/1/e/3/1e36c7842be44da18409a1750dcb4bcf82.png)
, иначе
![$x_i = 0$ $x_i = 0$](https://dxdy-04.korotkov.co.uk/f/7/6/b/76b580d31ba34e460349a2faee5a389082.png)
. Для ребер, не соединенных ни с одной вершиной множества, берем
![$y = 1$ $y = 1$](https://dxdy-03.korotkov.co.uk/f/2/8/b/28bfa1de0b829a8ef9aebb8eb6eb92a382.png)
, для остальных
![$y = 0$ $y = 0$](https://dxdy-02.korotkov.co.uk/f/5/4/e/54e8ccb1d0f9464f43edf5b1665c976382.png)
. Все уравнения выполняются, ограничение на количество тоже.