洛谷 P2455 传送门

刚开始写了个消成上三角的,结果狂wa。

后来经过研究发现,消成上三角那种不能直接判断无解或无穷多解,需要其它的操作。

所以干脆学了个消成对角线的,写了一发A了。

其实两种消元的方法都差不多,就当存个板子吧。

 #include<cstdio>

 void swap(double &x,double &y)
{
double t=x;x=y;y=t;
} double v(double rx)
{
return rx>?rx:(-rx);
} int n;
double a[][];
double x[];
const double eps=0.00001; int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
for(int j=;j<=n+;j++)
scanf("%lf",&a[i][j]);
for(int i=;i<=n;i++)
{
int p=i;
for(int j=i+;j<=n;j++)
if(v(a[j][i])>v(a[p][i]))p=j;
if(i!=p)for(int j=i;j<=n+;j++)swap(a[i][j],a[p][j]);
if(v(a[i][i])<eps)continue;
double div=a[i][i];
for(int j=i;j<=n+;j++)a[i][j]/=div;
for(int j=;j<=n;j++)
{
if(i==j)continue;
double div=a[j][i];
for(int k=;k<=n+;k++)
a[j][k]-=div*a[i][k];
}
}
int no=,inf=;
for(int i=;i<=n;i++)
{
int p=;
while(p<=n+&&v(a[i][p])<=eps)p++;
if(p==n+)no=;
if(p>n+)inf=;
}
if(no){printf("-1");return ;}
if(inf){printf("");return ;}
for(int i=n;i;i--)x[i]=a[i][n+];
for(int i=;i<=n;i++)
printf("x%d=%.2lf\n",i,x[i]);
return ;
}

最新文章

  1. H5拍照应用开发经历的那些坑儿
  2. [转]Design Pattern Interview Questions - Part 2
  3. Redis设计与实现-客户端服务端与事件
  4. POJ 1836 Alignment 最长递增子序列(LIS)的变形
  5. Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
  6. java.lang.OutOfMemoryError: unable to create new native thread如何解决
  7. Swift 本地推送通知UILocalNotification
  8. Aspx 页面生命周期
  9. 如何用C语言封装 C++的类,在 C里面使用
  10. javascript项目实战---ajax实现无刷新分页
  11. Ubuntu16.04 安装NVIDIA显卡驱动
  12. Navicat Premium for Mac完美破解
  13. nodemanager 无法启动报错“doesn&#39;t satisfy minimum allocations”
  14. 使用fiddler对手机上的程序进行抓包
  15. Blender 使用
  16. bower配置私服nexus3
  17. DevExpress v17.2新版亮点——VCL篇(一)
  18. sqlserver查询---分配cpu等资源
  19. 一个简单的获取RGB值方式
  20. bootstrap之输入框组

热门文章

  1. JQuery查找标签
  2. 7.windows-oracle实战第七课 --约束、索引
  3. J. Distance on the tree(树链剖分+线段树)
  4. C/C++中开平方函数sqrt()的用法
  5. 新服务器搭建-总结: 下载nginx,jdk8,docker-compose编排(安装mysql,redis) 附安装
  6. Table布局的优缺点
  7. MFC的sendmessage和postmessage 以及sendmessagetimeout
  8. 关于TensorFlow2的tf.function()和AutoGraph的一些问题解决
  9. VMware vSphere ESXi 和 vCenter Server 5.1 文档地址
  10. shell_backup_MySQL