P2455 [SDOI2006]线性方程组 题解
乱搞思路
他卡我顺序,那我打乱不就行了嘛
我直接一个 rand()
,不断的交换就行了。
交了 遍才过。
/* Work by: TLE_Automation */ #include<cmath> #include<queue> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define LL long long #define int long long using namespace std; const int N = 1e6 + 10; const int MAXN = 2e5 + 10; inline char readchar() { static char buf[100000], *p1 = buf, *p2 = buf; return p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 100000, stdin), p1 == p2) ? EOF : *p1++; } inline int read() { #define readchar getchar int res = 0, f = 0;char ch = readchar(); for(; !isdigit(ch); ch = readchar()) if(ch == '-') f = 1; for(; isdigit(ch); ch = readchar()) res = (res << 1) + (res << 3) + (ch ^ '0'); return f ? -res : res; } inline void print(int x) { if (x < 0 ) putchar('-'), x = -x; if (x > 9 ) print(x / 10); putchar(x % 10 + '0'); } double a[102][102]; int n; void Gauss() { for(int i = 1; i <= n; i++) { int Max = i; for(int j = i + 1; j <= n; j++) if(fabs(a[j][i]) > fabs(a[Max][i])) Max = j; for(int j = 1; j <= n + 1; j++) swap(a[i][j], a[Max][j]); if(a[i][i] == 0) continue; for(int j = 1; j <= n; j++) { if(j == i) continue; double tmp = a[j][i] / a[i][i]; for(int k = 1; k <= n + 1; k++) a[j][k] -= a[i][k] * tmp; } } } #include<ctime> signed main() { srand(time(0)); n = read(); for(int i = 1; i <= n; i++) { for(int j = 1; j <= n + 1; j++) { scanf("%lf", &a[i][j]); } } int T = 10; while(T--) { for(int i = 1; i <= n; i++) { int rd = rand() % n + 1; for(int j = 1; j <= n + 1; j++) { swap(a[i][j], a[rd][j]); } } } Gauss(); for(int i = 1; i <= n; i++) { if(a[i][i] == 0 && a[i][n + 1] == 0) return puts("0"), 0; if(a[i][i] == 0 && a[i][n + 1] != 0) return puts("-1"), 0; } for(int i = 1; i <= n; i++) { printf("x%lld=%.2lf\n", i, a[i][n + 1] / a[i][i]); } }
本文作者:TLE_Automation
本文链接:https://www.cnblogs.com/tttttttle/p/16310257.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现