37bool LinearEquation(vector<vector<
bool>> a, vector<
bool> b, vector<
bool>& x0, vector<vector<
bool>>& ker) {
38 int row=a.size(),col=a.front().size();
39 assert(b.size()==row);
40 vector<vector<
bool>> a2=a;
41 for(
int i=0; i<row; i++) a2[i].push_back(b[i]);
44 int rank=RowReduction(a2,where);
46 for(
int r=rank; r<row; r++)
if(a2[r].back())
return false;
48 x0=vector<
bool>(col,
false);
49 for(
int i=0; i<rank; i++) x0[where[i]]=a2[i].back();
52 for(
int c=0; c<col; c++) {
53 if(r<rank&&c==where[r]) {
59 for(
int r2=0; r2<r; r2++) x[where[r2]]=a2[r2][c];