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}