news 2026/8/8 8:11:15

《P2455 [SDOI2006] 线性方程组》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《P2455 [SDOI2006] 线性方程组》

题目描述

已知 n 元线性一次方程组。

⎩⎨⎧​a1,1​x1​+a1,2​x2​+⋯+a1,n​xn​=b1​a2,1​x1​+a2,2​x2​+⋯+a2,n​xn​=b2​⋯an,1​x1​+an,2​x2​+⋯+an,n​xn​=bn​​

请根据输入的数据,编程输出方程组的解的情况。

输入格式

第一行输入未知数的个数 n。
接下来 n 行,每行 n+1 个整数,表示每一个方程的系数及方程右边的值。

输出格式

如果有唯一解,则输出解。你的结果被认为正确,当且仅当对于每一个 xi​ 而言结果值与标准答案值的绝对误差或者相对误差不超过 0.01。

如果方程组无解输出 −1; 如果有无穷多实数解,输出 0;

输入输出样例

输入 #1复制

3 2 -1 1 1 4 1 -1 5 1 1 1 0

输出 #1复制

x1=1.00 x2=0.00 x3=-1.00

说明/提示

【数据范围】
对于 100% 的数据,1≤n≤50。∀1≤i,j≤n,有 ∣ai,j​∣≤100,∣bi​∣≤300。

代码实现:

#include <iostream> #include <algorithm> #include<cmath> #include<cstring> #include<cstdio> #include<cstdlib> #include<vector> #include<iomanip> #define sq(x)(x)*(x) #define f1(i,n) for (i=1;i<=n;i++) #define f0(i,n) for (i=0;i<n;i++) #define fr(i,x,y) for (i=x;i<=y;i++) #define fb(i,y,x) for (i=y;i>=x;i--) using namespace std; double mat[55][55], res[55]; int n, i, j, k; bool flag1=0, flag2=0; int main() { scanf("%d",&n); f1(i,n) { f1(j,n+1) { scanf("%lf",&mat[i][j]); } } int col=1; f1(i,n) { if (col>n) break; fr(j,i,n) { if (abs(mat[j][col])>abs(mat[i][col])) { f1(k,n+1) swap(mat[i][k], mat[j][k]); } } if (abs(mat[i][col])<1e-8) { flag2=1; col++; i--; continue; } fr(j,i+1,n) { double t=mat[j][col]/mat[i][col]; fr(k,col,n+1) { mat[j][k]-=mat[i][k]*t; } } col++; } col=n; fb(i,n,1) { if (col<1) break; if (abs(mat[i][col])<1e-8) continue; f1(j,i-1) { double t=mat[j][col]/mat[i][col]; fr(k,col,n+1) { mat[j][k]-=mat[i][k]*t; } } col--; if (abs(mat[i][col])>1e-8) i++; } fb(i,n,1) { flag1=0; f1(j,n) if (abs(mat[i][j])>1e-8) flag1=1; if (flag1==0 && abs(mat[i][n+1])>1e-8) { puts("-1"); return 0; } if (abs(mat[i][i])>1e-8 && !flag2) res[i]=mat[i][n+1]/mat[i][i]; } if (flag2==1) { puts("0"); return 0; } f1(i,n) { if (abs(res[i])<5e-3) printf("x%d=0\n",i); else printf("x%d=%.2f\n",i,res[i]); } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/4 12:53:18

如何选择EOR名义雇主服务?2026年TOP8服务优势一览

名义雇主EOR服务在全球化进程中越来越受到关注&#xff0c;主要是因为它们为企业提供了灵活、高效的用工解决方案。在选择合适的EOR名义雇主服务时&#xff0c;企业需要考虑多项服务优势&#xff0c;包括合规保障、运营效率和本地化支持。合规方面&#xff0c;优质的EOR名义雇主…

作者头像 李华
网站建设 2026/8/3 12:39:33

突发!丙烯酸巨头揭秘,这3家公司你必须知道!

《【丙烯酸】哪家好&#xff1a;专业深度测评排名前五》开篇&#xff1a;定下基调随着化工新材料行业的快速发展&#xff0c;丙烯酸作为重要的有机化工原料&#xff0c;其品质与供应商的选择备受市场关注。本次测评旨在通过客观、严谨的维度分析&#xff0c;帮助对丙烯酸感兴趣…

作者头像 李华
网站建设 2026/8/4 20:27:36

计算机毕设java高校宿舍管理平台 Java校园学生宿舍信息管理系统设计与实现 基于Java的大学宿舍综合管理平台开发

计算机毕设java高校宿舍管理平台1omg89&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着高校规模的不断扩大和学生人数的增加&#xff0c;传统宿舍管理模式正面临越来越多的挑…

作者头像 李华
网站建设 2026/8/1 18:31:42

大寒:冬之终章,春之序曲

大寒至&#xff0c;天地敛声。霜花在窗棂上凝成细密的碎钻&#xff0c;寒气如无声的墨汁&#xff0c;悄然浸透了整座城池。风在空巷里穿行&#xff0c;卷起枯叶如雪&#xff0c;又轻轻落定&#xff0c;仿佛怕惊扰了这冬的酣梦。河面早已冰封如镜&#xff0c;映着铅灰的天&#…

作者头像 李华
网站建设 2026/8/6 12:20:31

基于ssm+vue的橘子网上家教平台[ssm]-计算机毕业设计源码+LW文档

摘要&#xff1a;随着互联网技术的飞速发展以及人们对教育需求的不断增长&#xff0c;网上家教平台作为一种新兴的教育服务模式应运而生。本文旨在设计并实现基于SSM&#xff08;Spring、SpringMVC、MyBatis&#xff09;后端框架与Vue前端框架的橘子网上家教平台。该平台涵盖系…

作者头像 李华
网站建设 2026/8/7 9:51:28

Qwen2.5-7B部署优化:如何实现100+ tokens/s推理速度

Qwen2.5-7B部署优化&#xff1a;如何实现100 tokens/s推理速度 1. 技术背景与性能目标 随着大模型在实际业务场景中的广泛应用&#xff0c;推理效率成为决定用户体验和系统成本的关键因素。通义千问 Qwen2.5-7B-Instruct 作为阿里云于2024年9月发布的中等体量全能型模型&#…

作者头像 李华