题解 P5884 【[IOI2014]game 游戏】
这是一道构造题
构造出来后巨水,但要是想不到就GG
不妨将这个图考虑成树,只有当树上的每条边都被询问后才知道这棵树是否联通
那我们现在尽量让树的边最后被询问到就行了
也就是说我们让每个点最后被询问到的边成为树边就ok了
比如下面这张图,红色的边为每个点最后被询问到的边,红边就构成了一棵生成树
下面考虑代码实现,
那么对于这
代码真的很短。。。
#include<stdio.h>
#include<bits/stdc++.h>
using namespace std;
int n,r,u,v;
int deg[1005];
int main(void)
{
scanf("%d",&n);
r=n*(n-1)>>1;
while(r--)
{
scanf("%d%d",&u,&v);
if(u<v) swap(u,v);
printf("%d\n",++deg[u]==u);
}
return 0;
}