囧,题意看起来 很复杂,故几乎没什么人提交,其实只要看懂了题目的意思再简单不过了,,,这不,因为英语不好花了很久才看懂题意,稍微解释一下吧:
定义一个四维的魔方,每个四维的魔方有八个面(类比3维的魔方有六个面),每个面是一个3维的东西(类比3维的魔方的每个面是2维的平面)。
然后要把n个四维的魔方包装起来,因为是四维的,所以有四根坐标轴,每个魔方给出9个数据,第一个是此魔方的标识,然后1,2个表示在沿着第一根轴的前面和后面的用胶水
粘贴起来的魔方的编号,没有便为0。然后要你计算这n个四维魔方组装成的EER的“体积”(体积是相对与四维而言的)。理解了题意就简单了,直接由3维的外推到4维,3维里怎
么做在四维里就怎么做。如:体积等于每个坐标轴的距离乘起来。反正按3维的思考方法来就是了。
然后有两个判断:1是如果x在y上面那y必在x下面,如不成立则不存在。
2是最后只能组装城一个产品,不是多个,dfs求连通分量即可
AC代码如下:(第一次以为魔方的标识符在1到n之间,其实不是,搞得re了几次)
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
# define get(x) (((x-1)&((1 << 31) - 2)+((x-1)&1)^1)&#