Skip to main content

library_checker/linear_algebra/
matrix_product_mod_2.rs

1use competitive::prelude::*;
2use competitive::{data_structure::BitSet, math::BitMatrix};
3
4#[verify::library_checker("matrix_product_mod_2")]
5pub fn matrix_product_mod_2(reader: impl Read, writer: impl Write) {
6    prepare_io!(reader, writer);
7    sc!(n, m, _k, a: [@BitSet::from_binary; n], b: [@BitSet::from_binary; m]);
8    let a = BitMatrix::from_vec(a);
9    let b = BitMatrix::from_vec(b);
10    let c = &a * &b;
11    for row in c.data {
12        pp!(row.to_binary());
13    }
14}