高斯消元模板
void gs(int n){
for(int i = 1;i <= n;i ++){
if(!a[i][i]){
int r = i;
for(r = i + 1;r <= n; r ++) if(a[r][i]) break;
for(int j = 1;j <= n + 1;j ++) swap(a[r][j],a[i][j]);
}
for(int k = i + 1;k <= n;k ++){
for(int j = n + 1;j >=i ; j --){
a[k][j] -= a[k][i] / a[i][i] * a[i][j];
}
}
}
for(int i = n;i >= 1;i --){
for(int j = i + 1;j <= n;j ++){
a[i][n+1] -= a[j][n+1] * a[i][j];
}
a[i][n+1] /= a[i][i];
}
}