#P10591. BZOJ4671 异或图

BZOJ4671 异或图

题目背景

题目来自原 BZOJ,我们承认题面及原数据的版权均属于原 BZOJ 或将题目授权给 BZOJ 使用的出题人。如果您是版权所有者且认为我们侵犯了您的权益,可联系我们。

题目描述

定义两个结点数相同的图 G1G_1 与图 G2G_2 的异或为一个新的图 GG,其中如果 (u,v)(u,v)G1G_1G2G_2 中的出现之和为 11,那么边 (u,v)(u,v)GG 中,否则这条边不在 GG 中。

现在给定 ss 个结点数相同的图 G1sG_{1\sim s}S={G1,G2,,Gs}S=\{G_1,G_2,\dots,G_s\},请问 SS 有多少个子集的异或为一个连通图?

输入格式

第一行为一个整数 ss,表示图的个数。

接下来每一行一个二进制串,第 ii 行的二进制串为 gig_i,其中 gig_i 是原图通过以下伪代码转化得到的。图的结点从 11 开始编号,下面设结点数为 nn

Algorithm 1 Print a graph G = (V, E)

for i = 1 to n do
    for j = i + 1 to n do
        if G contains edge (i, j) then
            print 1
        else
            print 0
        end if
    end for
end for

输出格式

输出一行一个整数,表示方案数。

3 
1 
1 
0
4

提示

对于 100%100\% 的数据,2n102\leq n\leq 101s601\leq s\leq 60