#include <iostream>
#include <stdio.h>
#include <cstring>
using namespace std;
const int maxNodes = 50001;
int realNum=100;
int father[maxNodes];
int rank[maxNodes];//只有顶点才有这个虚拟的高度
int
void init()
{
for (int i=0;i<realNum;++i)
{
father[i] = i;
rank[i] = 0;
}
}
int findSet(int x)//返回所在集合的代表元素//压缩路径
{
if(x!=father[x])
father[x] = findSet(father[x]);
return father[x];
}
void merge(int i,int j)
{
int x = findSet(i);
int y = findSet(j);
if(x != y)
{
if(rank[x]>rank[y])
father[y] = x;
else
{
father[x] = y;
if (rank[x] == rank[y])
++rank[y];
}
}
}
bool judge(int x,int y)//判断x,y是否属于同一个集合
{
if(findSet(x)==findSet(y))
return true;
return false;
}
int main()
{
int K;
while (scanf("%d%d",&realNum,&K)!=EOF)
{
}
return 0;
}
明天写食物链题目的解题报告