#P51409. 「2020-2021 集训队作业」Yet Another Linear Algebra Problem

「2020-2021 集训队作业」Yet Another Linear Algebra Problem

题目描述

您需要解决两个独立(但类似)的子问题:

问题一:给定 nn 个在 GF(3)\mathrm{GF}(3) 上的 mm 维向量,记它们张成的线性空间为 VV。求从 nn 个向量中选出一组向量,使得它们是 VV 的基的方案数。对 33 取模。

问题二:给定 nn 个在 GF(2)\mathrm{GF}(2) 上的 mm 维向量,记它们张成的线性空间为 VV。其中第 ii 个向量有颜色 cic_i。求从每种颜色中恰好选出一个向量,使得它们是 VV 的基的方案数。对 22 取模。

注:为了凸显主要矛盾而忽略次要矛盾,保证 VV 的维数为 mm

输入格式

第一行包含一个正整数 taskidtaskid,表示需要解决的问题编号。

第二行包含两个正整数 n,mn, m,含义见上。

接下来输入 nn 行:

如果 taskid=1taskid = 1,则第 ii 行包含 mm 个非负整数 vi,1,vi,2,,vi,mv_{i,1},v_{i,2},\dots,v_{i,m},描述了第 ii 个向量。

如果 taskid=2taskid = 2,则第 ii 行包含 m+1m + 1 个非负整数 vi,1,vi,2,,vi,m,civ_{i,1},v_{i,2},\dots,v_{i,m},c_i,描述了第 ii 个向量与它的颜色。

输出格式

输出一行一个正整数表示答案。

样例 1

1
3 2
0 1
1 2
1 1
0
1
4 3
1 1 0
1 2 0
1 2 2
1 1 1
1
1
5 3
1 1 0
0 1 2
0 2 0
2 0 2
2 2 2
2
2
3 2
0 1 1
0 0 2
1 1 1
0
2
4 2
1 1 1
0 0 1
1 0 2
0 0 2
1

数据范围与提示

对于 100%100\% 的数据,taskid{1,2},1n,m500taskid\in \{1, 2\}, 1 \leq n, m \leq 500

taskid=1taskid = 1 时,则 vi,j{0,1,2}v_{i,j}\in \{0,1,2\}

taskid=2taskid = 2 时,则 vi,j{0,1},ci[1,m]v_{i,j}\in\{0, 1\}, c_i\in[1, m]

subtask1(50pts):taskid=1\mathrm{subtask}\,1(50\,\mathrm{pts}) : taskid = 1

subtask2(50pts):taskid=2\mathrm{subtask}\,2(50\,\mathrm{pts}) : taskid = 2