虫洞(简单)
解题步骤:
①、求出第 i 个星球作为中心子星系时,f[i] 的大小。
②、对每个 i 与 n - f[i] 异或后的结果相加,再对998244353取模即可得到答案。
问题关键点
求第 i 个星球 f[i] 的大小
个人解题思路:暴力
①、利用两个 vector 数组存储每个星球被哪些星球环绕的信息、将第 i 个星球看作第一类星球时,所有不同类型星球数。
vector <int> g[1010]; //记录路径
vector <int> v[1010]; //记录类型数
②、将每个星球都看作是第一类星球,进行暴力枚举。并不断记录第 i 个星球的 f[i]。
AC代码
#include<iostream>
#include<vector>
#include<memory.h>
#define ll long long
using namespace std;
int n, x, w[1010], tmp[1010], f[1010];
const ll mod =<