• 洛谷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 }
  • 相关阅读:
    jenkins+robot_framework的安装与邮件配置
    kali最新版中文乱码破解
    Kali系统安装详细步骤
    ADK安装步骤
    Newman跑接口脚本
    Android手机APP测试之环境搭建
    pytest+allre框架搭建
    Android手机测试环境搭建
    adb电脑桥梁手机步骤以及操作
    Android SDK的安装与环境变量配置
  • 原文地址:https://www.cnblogs.com/SilverNebula/p/6306344.html
Copyright © 2020-2023  润新知