ACM_三元一次函数(克莱姆法则)

三元一次函数

Time Limit: 2000/1000ms (Java/Others)

Problem Description:

计算三元一次函数。。如图

Input:

EOF,先输入n,表示样例个数,输入a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3(0=<x,y,z<=1000)

Output:

输出x,y,z(结果保留两位小数)

Sample Input:

2
3 3 1 20.00
6 0 2 20.00
6 4 0 20.00
3 0 1 6.00
0 2 2 10.00
1 3 1 10.00

Sample Output:

1.11 3.33 6.67
1.00 2.00 3.00
解题思路:克莱姆法则。
AC代码:
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main(){
 4     double a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,D,D1,D2,D3;int t;
 5     while(cin>>t){
 6         while(t--){
 7             cin>>a1>>b1>>c1>>d1>>a2>>b2>>c2>>d2>>a3>>b3>>c3>>d3;
 8             D = a1*b2*c3 + b1*c2*a3 + c1*a2*b3 - a1*c2*b3 - b1*a2*c3 - c1*b2*a3;
 9             D1 = d1*b2*c3 + b1*c2*d3 + c1*d2*b3 - d1*c2*b3 - b1*d2*c3 - c1*b2*d3;
10             D2 = a1*d2*c3 + d1*c2*a3 + c1*a2*d3 - a1*c2*d3 - d1*a2*c3 - c1*d2*a3;
11             D3 = a1*b2*d3 + b1*d2*a3 + d1*a2*b3 - a1*d2*b3 - b1*a2*d3 - d1*b2*a3;
12             printf("%.2f %.2f %.2f\n",D1/D,D2/D,D3/D);
13         }
14     }
15     return 0;
16 }

猜你喜欢

转载自www.cnblogs.com/acgoto/p/9274774.html