问题标题: 请问c2080 团队划分怎么理解?

0
1

3
已采纳
葛新
葛新
资深守护
资深守护

并查集或者搜索都可以。

如果用bfs来做,先根据关系建一个无向图,然后搜索标记联通区域,记录联通区域个数和联通区域大小。

1
俞海婷
俞海婷
新手守护
新手守护

可以先并查集存一下,然后路径压缩,重新枚举求解

int find(int x)
{
    if(!f[x]) 
        return x;
    f[x]=find(f[x]);
    return f[x];
}
int insert(int x,int y)
{
    if(find(x)!=find(y))
    {
        f[find(x)]=find(y);
        return 1;
    }
    return 0;
}

 

0
谢其桦
谢其桦
资深守护
资深守护

 

int insert(int x,int y)

 

{

 

if(find(x)!=find(y))

 

{

 

f[find(x)]=find(y);

 

return 1;

 

}

 

return 0;

 

}

0
0
周建勋
周建勋
中级光能
中级光能

 

int find(int x)

 

{

 

if(!f[x])

 

return x;

 

f[x]=find(f[x]);

 

return f[x];

 

}

 

int insert(int x,int y)

 

{

 

if(find(x)!=find(y))

 

{

 

f[find(x)]=find(y);

 

return 1;

 

}

 

return 0;

 

}

0
李映谊
李映谊
高级守护
高级守护

sort(a[i],a[i++],a[i++]);

printf("%.2f",a);

0
欧阳语聪
欧阳语聪
资深守护
资深守护

 

int find(int x)

{

if(!f[x])

return x;

f[x]=find(f[x]);

return f[x];

}

int insert(int x,int y)

{

if(find(x)!=find(y))

{

f[find(x)]=find(y);

return 1;

}

0
0
李泽远
李泽远
高级天翼
高级天翼

对,就像他们所说的。

0
0
0
我要回答