博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【洛谷团队题目】
阅读量:6679 次
发布时间:2019-06-25

本文共 1321 字,大约阅读时间需要 4 分钟。

题目描述

给你一个N(n10)阶行列式,请计算出它的值

输入输出格式

输入格式:

第一行有一个整数n

在以下n行中,每行有n个整数,表示该行列式

输出格式:

这个行列式的值

输入输出样例

输入样例#1: 
82 10 4 4 3 6 10 61 10 9 3 2 1 6 73 9 8 7 1 1 8 72 10 8 6 9 9 3 41 7 1 8 2 6 2 39 2 4 8 10 6 10 33 6 7 9 8 2 8 12 9 2 1 10 7 4 5
输出样例#1:
-135742
输入样例#2: 
41 2 3 41 3 4 11 4 1 21 1 2 3

输出样例#2: 

16 无敌水的板子 主要用到了高斯消元的知识(但略有不同) 不会的可以看看上一篇博文 直接来代码QAQ
#include
using namespace std;double n, a[20][20], ans = 1;int sum;inline void qwq(int x, int y, double k) { for (int i = 1; i <= n; ++i) a[y][i] -= (double)(k * a[x][i]);}inline void qaq(int x, int y){ for (int i = 1; i <= n; ++i) swap(a[i][x], a[i][y]);}inline double QAQ(int x, double k) { for (int i = 1; i <= n; ++i) a[x][i] /= k; return k;}int main(){ scanf("%lf", &n); for (int i = 1; i <= n; ++i) for (int j = 1; j <= n; ++j) scanf("%lf", &a[i][j]); for (int i = 1; i < n; ++i) { sum=i; while (a[i][i] == 0 && sum<=n) { qaq(i, sum + 1); ans *= -1; sum++; } ans *= QAQ(i, a[i][i]); for (int j = i + 1; j <= n; ++j) qwq(i, j, a[j][i]); } for (int i = 1; i <= n; ++i) ans *= a[i][i]; printf("%0.0lf", ans); return 0;}

ok,非常漂亮

转载于:https://www.cnblogs.com/gongcheng456/p/10705288.html

你可能感兴趣的文章
Mongodb安装和基本命令
查看>>
python中requests模块使用
查看>>
git bash 常用命令 新手学习
查看>>
日记2014/06/25
查看>>
springboot+Druid+oracle 配置p6spy
查看>>
Maven编译、打war包
查看>>
WP8.1开发:简单的天气预报应用
查看>>
九 循环
查看>>
第十三周项目2-形状类族的中的纯虚函数
查看>>
组织炎症水平高的RA患者接受TNF拮抗剂治疗的效果更好
查看>>
[洛谷P3709]大爷的字符串题
查看>>
通过映射关系 动态转义为统一格式的数据 (支持 JSON 和 XML )
查看>>
ajax跨域解决方案(服务端仅限java)
查看>>
Shell 文本处理三剑客之grep
查看>>
如何写出让人看了恶心的代码
查看>>
http状态码
查看>>
好记性不如烂笔杆-android学习笔记<十五> GridView简单用法
查看>>
最短路径
查看>>
表格相关技巧(双击启动事件、取得行号、定义表格的读写属性)
查看>>
ubuntu server vsftpd 虚拟用户及目录
查看>>