现有一组数据,
第一行分别为: 猴数 m 线索数n
后有n行(两列)线索数,该行两个数x,y表该两个对应猴同一个猴窝
找出共推选出几个不同的猴窝
输入:
11 7
1 2
3 4
5 2
11 6
2 11
8 7
9 7
输出:
4
代码:

#include<stdio.h>
int main()
{
    int h,x;
    while(scanf("%d%d",&h,&x)!=-1)
    {
        int i=0,d[99];
        for(i;i<2*x;i++)
        {
            scanf("%d",&d[i]);
        }
        int j,sum=1;int p;
        for(i=2;i<2*x;i=i+2)
        {
            p=0;
            for(j=0;j<i;j++)
            {
                if(d[j]==d[i]||d[j]==d[i+1])
                {
                    p=1;
                    break;
                } 
            }
            if(p==0)
            sum++;
        }
        for(i=0;i<x*x;i++)
        {
            for(j=1;j<=h;j++)
            {
                if(j==d[i])
                {
                    p=1;
                    break;
                }
            }
        }
        if(p==0)
            sum++;
        printf("%d\n",sum);
    }
    return 0;
}