南邮1340 矩阵逆 初等行转换
来源:互联网 发布:天津网络推广公司排名 编辑:程序博客网 时间:2024/04/25 08:32
题目链接; noj1340
好长时间没写博客了, 今天刚学矩阵逆, 找到裸题, 试试, 嘿嘿
题解: 初等行转换, (A, E) -> (E, A^-1);
code:
#include<cstdio>#include<cstring>#include<cmath>#include<vector>using namespace std;const int maxn = 100 + 5;int n, word;vector<double> a[maxn], c[maxn], t[maxn];double temp;inline vector<double> operator * (vector<double>a, double b) {vector<double> res(n, 0);for (int i = 0; i < n; i++)res[i] = a[i] * b;return res;}inline vector<double> operator - (vector<double>a, vector<double> b) {vector<double> res(n, 0);for (int i = 0; i < n; i++)res[i] = a[i] - b[i];return res;}inline void inverse() {for (int i = 0; i < n; i++)c[i] = vector<double>(n, 0);for (int i = 0; i < n; i++)c[i][i] = 1;for (int i = 0; i < n; i++) {word = 0;for (int j = i; j < n; j++) {if (fabs(a[j][i]) > 0) {word = 1;swap(a[i], a[j]);swap(c[i], c[j]);break;}}//printf("word : %d\n", word);if (!word)return;c[i] = c[i] * (1 / a[i][i]);a[i] = a[i] * (1 / a[i][i]);for (int j = 0; j < n; j++) {if (j != i && fabs(a[j][i]) > 0) {c[j] = c[j] - c[i] * a[j][i];a[j] = a[j] - a[i] * a[j][i];}}}}int main() {//freopen("in.txt", "r", stdin);while (~scanf("%d", &n)) {//printf("%d\n", n);for (int i = 0; i < n; i++){for (int j = 0; j < n; j++) {scanf("%lf", &temp);a[i].push_back(temp);}}inverse();/*for (int i = 0; i < n; i++){//a[i](n, 0);for (int j = 0; j < n; j++)printf(" %lf", c[i][j]);puts("");}*/for (int i = 0; i < n; i++){//a[i](n, 0);for (int j = 0; j < n; j++) {scanf("%lf", &temp);t[i].push_back(temp);}}if (word) {for (int i = 0; i < n; i++){//a[i](n, 0);for (int j = 0; j < n; j++){//printf("%lf, %lf\n", t[i][j], c[i][j]);if (fabs(t[i][j] - c[i][j]) > 1e-6){word = 0;break;}}if (!word)break;}printf("%s\n", word ? "YES" : "NO");}else {printf("NO\n");}}}
0 0
- 南邮1340 矩阵逆 初等行转换
- 初等行变换求逆矩阵
- 006 逆矩阵的求法(矩阵初等行变换)
- 用初等行变换求矩阵的逆
- 初等变换与初等矩阵
- 逆矩阵(初等变换法)C++
- 矩阵初等行变换的技巧
- 矩阵的初等变换
- 矩阵的初等变换
- 线性代数 03.04 初等矩阵
- c++求逆矩阵(初等变换法)
- 005 逆阵求法方法二:矩阵初等变换法
- 矩阵在初等行变换下的标准型
- 读矩阵的初等行变换 行列式的性质
- 初等矩阵左乘右乘 影响 矩阵 行列 变换
- (8)矩阵的初等变换
- 矩阵的初等变换的应用
- [线性代数]矩阵的初等变换与线性方程组
- 包过滤防火墙
- 泛型
- 牛顿迭代法求解平方根
- BZOJ 3673 && BZOJ 3674 可持久化线段树
- netty 4.0.13 使用样例
- 南邮1340 矩阵逆 初等行转换
- 解析数据出错:reason: '-[__NSCFArray bytes]: unrecognized selector sent to instance 0x18056b30'
- 树莓派3安装QT5
- 趣发现 资源页面请求链接分析
- JS-JavaScript数据类型与对象
- 微信:小程序学习笔记(2)
- JsonDB - python实现的基于JSON格式的轻量级数据库开源项目
- (笔记)Spring实战_征服数据库(1)_Spring的数据访问哲学
- iOS学习 NSPredicate模糊搜索(全方面搜索)支持中文、数字、字母