Đị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

  • MinhPhu123 8:55 p.m. 28 Tháng 3, 2025

    khổ thân đứa dùng scratch

    • 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