#THU2024001. [清华考研机试 2024] 擂台赛

[清华考研机试 2024] 擂台赛

时间限制: 1.0 秒

空间限制: 512 MB

题目描述

nn 个选手在打擂台赛,编号为 11nn,保证 nn22 的幂次且 n8n\le 8

一开始会将 nn 个选手分成 n/2n/2 组,每组 22 个选手。组内比赛之后胜出者进入下一轮,直到剩下最后一位选手为最终的胜者。

n=4n=4 时,先将 44 个选手分成 22 组,第一组的胜者和第二组的胜者进行最后的比赛。

n=8n=8 时,先将 88 个选手分成 44 组,第一组的胜者和第二组的胜者进行下一轮的比赛,第三组的胜者和第四组的胜者进行下一轮的比赛,两边的胜者再进行最后的比赛。

给出 nn 个选手之间互相比赛的胜负情况,问有多少组的方案使得最后编号为 11 的选手胜出。两种方案被认为是不同的,当且仅当两种方案存在至少一位选手分到的组的编号不同。

输入格式

从标准输入读入数据。

输入的第一行包含一个正整数 nn,表示参加擂台赛的人数。

接下来 nn 行,每行 nn 个数字。其中第 ii 行,第 jj 个数字 ai,ja_{i,j} 表示编号为 ii 的选手和编号为 jj 的选手比赛的胜负情况,ai,j=1a_{i,j}=1 表示编号为 ii 的选手胜出,ai,j=1a_{i,j}=-1 表示编号为 jj 的选手胜出。当 i=ji=j 时, ai,j=0a_{i,j}=0

输出格式

输出到标准输出。

输出一行包含一个非负整数表示对应的方案数。

4
0 1 1 1
-1 0 1 1
-1 -1 0 1
-1 -1 -1 0
6

样例 1 解释

一共有六种方案,以下是对应分组的情况:

  • (1,2) (3,4)
  • (1,3) (2,4)
  • (1,4) (2,3)
  • (3,4) (1,2)
  • (2,4) (1,3)
  • (2,3) (1,4)

数据范围

对于所有测试数据,满足 2n8, 1ai,j12\le n\le 8,~-1\le a_{i,j}\le 1ai,ja_{i,j} 构成的矩阵一定为一个对角线元素为 00,其他元素非 00 的反对称矩阵(即 ai,j+aj,i=0a_{i,j}+a_{j,i}=0)。

子任务 1(20 分):满足 n=2n=2

子任务 2(40 分):满足 n=4n=4

子任务 3(40 分):满足 n=8n=8