poj解题报告——1914

来源:互联网 发布:高达模型 知乎 编辑:程序博客网 时间:2024/06/06 18:41

        这就是一道简单的线性代数问题,三阶矩阵求值。

代码如下

#include<stdio.h>#include<string.h>__int64 a[3][3],b[3],c[3][3];__int64 cal(){return a[0][0]*(a[1][1]*a[2][2]-a[1][2]*a[2][1])-a[0][1]*(a[1][0]*a[2][2]-a[1][2]*a[2][0])+a[0][2]*(a[1][0]*a[2][1]-a[1][1]*a[2][0]);}double val(double a){if(a<0.0005&&-0.0005<a)        return 0;    return a;}void main(){int i,j,t;__int64 A,ans[3];scanf("%d",&t);while(t--){for(i=0;i<3;i++){for(j=0;j<3;j++){scanf("%I64d",&a[i][j]);c[i][j]=a[i][j];}scanf("%I64d",&b[i]);}A=cal();for(i=0;i<3;i++){for(j=0;j<3;j++)a[j][i]=b[j];ans[i]=cal();for(j=0;j<3;j++)a[j][i]=c[j][i];}for(i=0;i<3;i++)printf("%I64d ",ans[i]);printf("%I64d\n",A);if(A==0)printf("No unique solution\n");else{printf("Unique solution:");for(i=0;i<3;i++)printf(" %.3f",val(ans[i]*1.0/A));printf("\n");}printf("\n");}}


0 0
原创粉丝点击