| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1244 人关注过本帖
标题:输入9组数据为何一定要输入十组数据才行??
取消只看楼主 加入收藏
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
结帖率:58.18%
收藏
已结贴  问题点数:20 回复次数:1 
输入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
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
收藏
得分:0 
回复 2楼 脚快跑
我后来试了一下重建文件,然后神奇的好了
2016-05-17 19:48
快速回复:输入9组数据为何一定要输入十组数据才行??
数据加载中...
 
   



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

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