Định thức bậc 3

Xem PDF



Tác giả:
Dạng bài
Điểm: 1400 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho ma trận bậc 3
\(\begin{bmatrix} a & b & c \\ d & e & f \\ g & h & i \end{bmatrix}\)

Biết công thức tính định thức là:

\(aei + bfg + cdh - afh - bdi - ceg\)

(đây còn được gọi là công thức tam giác)

Hãy tính định thức của ma trận trên, chia lấy dư cho \(2004010501\) và in ra màn hình!

Input

  • Gồm ba dòng, mỗi dòng chứa ba số ứng với các dòng của ma trận. Cụ thể, ba dòng chứa các biến vào như sau:
    a b c
    d e f
    g h i
    

Output

  • Gồm một dòng duy nhất chứa \(\det \mod 2004010501\)

Constraints

  • \(-10^9 \le a,b,c,d,e,f,g,h,i \le 10^9\)

Example

Test ví dụ

Input
3 2 5
4 6 8
7 -9 1
Output
2004010449
Note

Tính được định thức bằng \(-52\), nếu lấy theo modulo thì kết quả \(= 2004010501 - 52\)


Bình luận

  • quocvinh1252012 6:14 p.m. 25 Tháng 2, 2025

    include <bits/stdc++.h>

    using namespace std;

    int main() {
    long long a, b, c, d, e, f, g, h, i;
    cin >> a >> b >> c;
    cin >> d >> e >> f;
    cin >> g >> h >> i;
    long long MOD=2004010501;
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //long long def=((a%MOD)(e%MOD)(i%MOD))%MOD + ((b%MOD)(f%MOD)(g%MOD))%MOD + ((c%MOD)(d%MOD)(h%MOD))%MOD - (((a%MOD)(f%MOD)(h%MOD))%MOD+MOD)%MOD - (((b%MOD)(d%MOD)(i%MOD))%MOD+MOD)%MOD - (((c%MOD)(e%MOD)(g%MOD))%MOD+MOD)%MOD;//
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    long long d_1=((a%MOD)(e%MOD)%MOD)(i%MOD)%MOD;
    long long d_2=((b%MOD)(f%MOD)%MOD)(g%MOD)%MOD;
    long long d_3=((c%MOD)(d%MOD)%MOD)(h%MOD)%MOD;
    long long d_4=((a%MOD)(f%MOD)%MOD)(h%MOD)%MOD;
    long long d_5=((b%MOD)(d%MOD)%MOD)(i%MOD)%MOD;
    long long d_6=((c%MOD)(e%MOD)%MOD)(g%MOD)%MOD;
    long long def=(d_1+d_2+d_3-d_4-d_5-d_6)%MOD;
    if (def<0) def+=MOD;
    cout << def;
    return 0;
    }

    AC