标题:输入9组数据为何一定要输入十组数据才行??
只看楼主
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
结帖率:58.18%
已结贴  问题点数:20 回复次数:2 
输入9组数据为何一定要输入十组数据才行??
#include <stdio.h>
int f[10]={0} , N , M ;


void init(  )
{
    int i = 1 ;
    for(i=1; i<=N; i++ )
        f[i] = i ;
}


int getf( int v  )
{
    if( v == f[v] )
        return v ;
    else
    {
        f[v] = getf( f[v] ) ;
        return f[v] ;
    }   
}



void merge( int v , int u )
{
    int f1,f2 ;
    f1 = getf( v ) ;//得到u,v的祖先
    f2 = getf( u ) ;
   
    if( f1!=f2 )//两节点祖先不同,靠左原则
    {
        f[ f2 ] = f1 ;
    }
}


int main( )
{
    int i ;
    int v,u ;
    scanf("%d %d",&N,&M) ;//N个数,M个集合

    init(  ) ;

    for( i=1; i<=M; i++ )//每次输入两个数,这两个数为同一集合中
    {
        scanf("%d %d",&v ,&u );
        merge(  v , u ) ;
    }
   
    for(i=1; i<=N; i++)
    {
        printf("%d ",f[i]) ;
    }

    printf("\n") ;

    return 0 ;
}

输入9组数据为何一定要输入十组数据才行??
搜索更多相关主题的帖子: include return 
2016-05-14 16:20
脚快跑
Rank: 2
等 级:论坛游民
帖 子:3
专家分:25
注 册:2016-5-14
得分:20 
....我用你的代码,输入了9组啊

2016-05-14 17:48
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
得分:0 
回复 2楼 脚快跑
我后来试了一下重建文件,然后神奇的好了
2016-05-17 19:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-464815-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.233823 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved