library_checker/linear_algebra/
sparse_matrix_det.rs1use competitive::prelude::*;
2use competitive::{
3 algebra::AddMulOperation, math::SparseMatrix, num::mint_basic::MInt998244353 as M,
4};
5
6#[verify::library_checker("sparse_matrix_det")]
7pub fn sparse_matrix_det(reader: impl Read, writer: impl Write) {
8 prepare_io!(reader, writer);
9 sc!(n, k, abc: [(usize, usize, M); k]);
10 let s = SparseMatrix::<AddMulOperation<_>>::from_nonzero((n, n), abc);
11 let ans = s.determinant();
12 pp!(ans);
13}