会员
周边
捐助
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
不搞事情和咸鱼有什么区别
博客园
首页
新随笔
联系
管理
订阅
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; k
abs(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; j
0) a[(i-1)*n+j][t]=1; if(i
0) a[i*n+j-1][t]=1; if(j
=0; j--) { int idx; for(idx=j; idx
posted @
2017-08-18 10:08
猪突猛进!!!
阅读(
94
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
公告