列表

详情


NC23926. 坑坑的伴随阵

描述

坑坑马上就要毕业了,但是在毕业之前需要完成毕业设计才能顺利毕业,可是坑坑的毕设题目很难,是有关图像处理的,涉及到矩阵方面的知识,对数学要求很高。坑坑在研究毕设的时候遇到了一个难题,需要通过今天的比赛发现好的解题方法,希望大家可以帮忙。需要解决的问题是这样的,有一个矩阵A,它是3*3的方阵,现在需要编程实现计算矩阵|A*|(矩阵A对应的伴随阵的行列式的值),矩阵中的每个元素值都在0~255之间。

输入描述

输入数据为T组数据(1<=T<=10)。
每组数据有三行,每行三个数字,表示矩阵A中的元素值(0<=元素值<=255)。

输出描述

对于每组数据,输出一个数字,表示矩阵A对应的伴随阵的行列式的值。

示例1

输入:

2
1 0 0
0 1 0
0 0 1
0 0 1
0 1 0
1 0 0

输出:

1
1

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++14(g++5.4) 解法, 执行用时: 3ms, 内存消耗: 480K, 提交时间: 2019-07-20 15:16:50

#include <iostream>
using namespace std;
int main()
{
    long long T,a[10];
    cin>>T;
    while(T--)
    {
        for(int i=1;i<=9;i++)
            cin>>a[i];
        long long sum=a[1]*a[5]*a[9]+a[2]*a[6]*a[7]+a[3]*a[4]*a[8]
            -a[1]*a[6]*a[8]-a[2]*a[4]*a[9]-a[3]*a[5]*a[7];
        cout<<sum*sum<<endl;
    }
    return 0;
}

C++11(clang++ 3.9) 解法, 执行用时: 3ms, 内存消耗: 376K, 提交时间: 2019-04-03 16:44:26

#include<cstdio>

int a[11];

int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		for(int i=1;i<=9;++i){
			scanf("%d",&a[i]);
		}
		long long ans=a[1]*a[5]*a[9]-a[3]*a[5]*a[7]+a[2]*a[6]*a[7]-a[2]*a[4]*a[9]+a[4]*a[8]*a[3]-a[6]*a[8]*a[1];
		printf("%lld\n",ans*ans);
	}
	
	return	0;	
}

上一题