#L3409. 「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

输入格式

第一行包含一个正整数 taskid\mathrm{taskid},表示需要解决的问题编号。

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

接下来输入 nn 行:

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

如果 taskid=2\mathrm{taskid} = 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

输入: 11 33 22 00 11 11 22 11 11

输出: 00

样例 2

输入: 11 44 33 11 11 00 11 22 00 11 22 22 11 11 11

输出: 11

样例 3

输入: 11 55 33 11 11 00 00 11 22 00 22 00 22 00 22 22 22 22

输出: 22

样例 4

输入: 22 33 22 00 11 11 00 00 22 11 11 11

输出: 00

样例 5

输入: 22 44 22 11 11 11 00 00 11 11 00 22 00 00 22

输出: 11

数据范围与提示

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

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

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

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

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