zoukankan      html  css  js  c++  java
  • poj 1753高斯

    和前面的开关问题差不多,就是要理解一下我们方程等号的右端代表的含义是什么。我们建立的方程是想让对位的位置变或者不变,然后生成增广矩阵的时候要多注意一点。 ac代码: #include #include #include #include #include #include #include #include #include using namespace std; const int maxn=300; //有equ个方程,var个变元。增广矩阵行数为equ,列数为var+1,分别为0到var int equ,var; int a[maxn][maxn]; //增广矩阵 int x[maxn]; //解集 int free_x[maxn];//用来存储自由变元(多解枚举自由变元可以使用) int free_num;//自由变元的个数 //返回值为-1表示无解,为0是唯一解,否则返回自由变元个数 int gauss() { int max_r,col,k; free_num=0; for(k=0,col=0; kabs(a[max_r][col])) max_r=i; if(!a[max_r][col]) { k--; free_x[free_num++]=col; continue; } if(max_r!=k) for(int j=col; j=0; i--) { x[i]=a[i][var]; for(int j=i+1; j0) a[(i-1)*n+j][t]=1; if(i0) a[i*n+j-1][t]=1; if(j=0; j--) { int idx; for(idx=j; idx
  • 相关阅读:
    Kotlin 学习 (一)
    Spring Boot 学习(一)
    三大特性之继承
    OC中的点语法
    getter和setter
    三大特性之封装
    匿名对象
    对象作为返回值
    对象作为参数的连续传递
    对象作为参数传递
  • 原文地址:https://www.cnblogs.com/z1141000271/p/7388037.html
Copyright © 2011-2022 走看看