zoukankan      html  css  js  c++  java
  • 洛谷P3389 【模板】高斯消元法

    题目背景

    Gauss消元

    题目描述

    给定一个线性方程组,对其求解

    输入输出格式

    输入格式:

    第一行,一个正整数n

    第二至n+1行,每行n+1个整数,为a1,a2...an和b,代表一组方程。

    输出格式:

    共n行,每行一个数,第i行为xi (保留2位小数)

    如果不存在唯一解,在第一行输出"No Solution".

    输入输出样例

    输入样例#1:
    1
    1 1
    输出样例#1:
    1.00

    说明

    1<=n<=100, |ai|<=10000, |b|<=10000

     1 /*by SilverN*/
     2 #include<iostream>
     3 #include<algorithm>
     4 #include<cstring>
     5 #include<cstdio>
     6 #include<cmath>
     7 using namespace std;
     8 const double eps=1e-7;
     9 const int mxn=125;
    10 int read(){
    11     int x=0,f=1;char ch=getchar();
    12     while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    13     while(ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();}
    14     return x*f;
    15 }
    16 int n;
    17 double a[mxn][mxn];
    18 double b[mxn];
    19 int main(){
    20     n=read();
    21     int i,j;
    22     for(i=1;i<=n;i++){
    23         for(j=1;j<=n;j++)
    24             a[i][j]=read();
    25         a[i][n+1]=read();
    26     }
    27     for(i=1;i<=n;i++){
    28         int p=i;
    29         for(j=i+1;j<=n;j++)
    30             if(fabs(a[j][i])>fabs(a[p][i]))p=j;
    31         if(p!=i)for(j=1;j<=n+1;j++)swap(a[i][j],a[p][j]);
    32         if(fabs(a[i][i])<eps){printf("No Solution
    ");return 0;}
    33         for(j=i+1;j<=n;j++){
    34             double x=a[j][i]/a[i][i];
    35             for(int k=i;k<=n+1;k++){
    36                 a[j][k]-=x*a[i][k];
    37             }
    38         }
    39     }
    40     for(i=n;i;i--){
    41         for(j=i+1;j<=n;j++)
    42             a[i][n+1]-=a[i][j]*a[j][n+1];
    43         a[i][n+1]/=a[i][i];
    44     }
    45     for(i=1;i<=n;i++)printf("%.2f
    ",a[i][n+1]);
    46     return 0;
    47 }
  • 相关阅读:
    Hibernate学习之缓存机制
    Hibernate学习之hibernate状态
    Ajax学习之小结
    Hibernate学习之hibernate执行顺序
    Svn入门
    Svn服务启动的两种方式
    Eclipse安装Svn插件
    一种给力的带背景的超链接的写法
    转载:IE下div使用margin:0px auto不居中的原因
    github上的Lua in Erlang
  • 原文地址:https://www.cnblogs.com/SilverNebula/p/6306344.html
Copyright © 2011-2022 走看看