【高斯消元】hihocoder1195
来源:互联网 发布:淘宝优惠网址 编辑:程序博客网 时间:2024/06/07 21:08
hihocoder1195
高斯消元模板题
标程
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define SF scanf#define PF printf#define MAXN 510#define EPS 1e-8using namespace std;double a[MAXN][MAXN],x[MAXN];int n,m,Rank,f[MAXN],flag;void init(){ memset(a,0,sizeof a); for(int i=0;i<n;i++) for(int j=0;j<=m;j++) SF("%lf",&a[i][j]);}void gauss(){ int r,c,maxr; for(r=0,c=0;r<n&&c<m;r++,c++){ maxr=r; for(int i=r+1;i<n;i++) if(fabs(a[i][c])>fabs(a[maxr][c])) maxr=i; if(fabs(a[maxr][c])<EPS){ flag=1; r--; continue; } if(maxr!=r) for(int i=c;i<=m;i++) swap(a[r][i],a[maxr][i]); for(int i=0;i<n;i++) if(i!=r&&fabs(a[i][c])>EPS) for(int j=m;j>=c;j--) a[i][j]-=a[r][j]/a[r][c]*a[i][c]; } Rank=r;}bool check(){ int cnt,pos; for(int i=Rank;i<n;i++) if(fabs(a[i][m])>EPS) return 0; for(int i=0;i<m;i++) f[i]=1; for(int i=Rank-1;i>=0;i--){ cnt=0; for(int j=0;j<m;j++) if(fabs(a[i][j])>EPS&&f[j]){ cnt++; pos=j; } if(cnt==1){ f[pos]=0; x[pos]=a[i][m]/a[i][pos]; } } return 1;}void print(){ int i; for(int i=0;i<m;i++) PF("%d\n",int(x[i]+0.5));}int main(){ //freopen("data.in","r",stdin); //freopen("data.out","w",stdout); SF("%d%d",&m,&n); init(); gauss(); if(check()){ if(flag==1) PF("Many solutions"); else print(); } else PF("No solutions");}
对拍程序(结果一定有解,数据很小,对排不出来可以将范围改大)
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<cstdlib>#include<ctime>#define SF scanf#define PF printf#define MAXN 1010using namespace std;int get_rand(int x){ return rand()*rand()%x+1;}int ans[MAXN],x[MAXN][MAXN],tot;int main(){ freopen("data.in","w",stdout); srand(time(0)); int m=get_rand(5); int n=get_rand(m)+m; PF("%d %d\n",m,n); for(int i=0;i<m;i++) ans[i]=get_rand(10000); for(int i=0;i<n;i++){ tot=0; for(int j=0;j<m;j++){ x[i][j]=get_rand(10); tot+=x[i][j]*ans[j]; PF("%d ",x[i][j]); } PF("%d\n",tot); }}
1 0
- 【高斯消元】hihocoder1195
- 高斯消元 hdu5833,hdu3364,hihocoder1195
- 高斯消元 hihoCoder1195 高斯消元·一
- hihoCoder1195高斯消元一
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- ##高斯消元##
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- Codeforces 514A Chewbaсca and Number【贪心】这题好劲啊
- Windows如何删除node_modules文件夹下的所有modules
- Android Studio Jacoco Coverage 0
- 二、平衡查找树之2-3树
- 软件测试之-测试覆盖率
- 【高斯消元】hihocoder1195
- Android ImageView的scaleType属性
- 应用 Valgrind 发现 Linux 程序的内存问题
- Spring的三种装配Bean的方式
- 暴风一号病毒源码(1kb快捷方式)
- JAVA多线程 浅入Concurrent包
- 分割窗口QSplitter
- Airbnb的开源项目Lottie简易实现动画
- OpenStack:glance_store:_drivers/filesystem.py文件源码学习-01