Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstdio>#include<iostream>#include<cstdlib>#include<algorithm>#include<cstring>#include<cmath>#include<map>#include<stack>#include<queue>#include<set>#include<vector>using namespace std;typedef long long ll;typedef double db;const int MAXN=220;struct Edge{int to,nxt;}edge[2020];int head[MAXN],tot;void addedge(int u,int v){edge[tot].to=v;edge[tot].nxt=head[u];head[u]=tot++;}bool vis[MAXN],ok;int mk;void dfs(int x,int pre){vis[x]=true;if((x^mk)==1){