Skip to main content

library_checker/linear_algebra/
sparse_matrix_det.rs

1use 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}