Skip to main content

library_checker/linear_algebra/
matrix_det.rs

1use competitive::prelude::*;
2use competitive::{algebra::AddMulOperation, math::Matrix, num::mint_basic::MInt998244353 as M};
3
4#[verify::library_checker("matrix_det")]
5pub fn matrix_det(reader: impl Read, writer: impl Write) {
6    prepare_io!(reader, writer);
7    sc!(n, a: [[M; n]; n]);
8    let mut a = Matrix::<AddMulOperation<_>>::from_vec(a);
9    let det = a.determinant();
10    pp!(det);
11}