PTA 数据结构与算法题目集(中文)5-7 六度空间 (30分)
2017-04-15 13:44
661 查看
#include <stdio.h>
#include <queue>
/*
bfs 起始结点的层数为0,以后的结点层数为上一结点层数+1 输出时%%
*/
using namespace std;
queue<int>qu;
int m[10001][10001],n,mm[10001],sum,vis[10001];
void bfs(int x)
{
if(vis[x]<6)
{
for(int i=1;i<=n;i++)
{
if(!mm[i]&&m[x][i])
{
qu.push(i);
mm[i]=1;
vis[i]=vis[x]+1;
sum++;
}
}
}
if(!qu.empty())
{
x=qu.front();
qu.pop();
bfs(x);
}
}
void qk()
{
for(int i=1;i<=n;i++)
mm[i]=0;
}
void bfs_bl()
{
for(int i=1;i<=n;i++)
{
qk();
sum=1;
vis[i]=0;
mm[i]=1;
bfs(i);
printf("%d: %.2lf%%\n",i,(sum*1.0)/(n*1.0)*100.0);
}
}
int main()
{
int e,u,v;
scanf("%d %d",&n,&e);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
m[i][j]=0;
}
}
for(int i=1;i<=e;i++)
{
scanf("%d %d",&u,&v);
m[u][v]=m[v][u]=1;
}
bfs_bl();
return 0;
}
#include <queue>
/*
bfs 起始结点的层数为0,以后的结点层数为上一结点层数+1 输出时%%
*/
using namespace std;
queue<int>qu;
int m[10001][10001],n,mm[10001],sum,vis[10001];
void bfs(int x)
{
if(vis[x]<6)
{
for(int i=1;i<=n;i++)
{
if(!mm[i]&&m[x][i])
{
qu.push(i);
mm[i]=1;
vis[i]=vis[x]+1;
sum++;
}
}
}
if(!qu.empty())
{
x=qu.front();
qu.pop();
bfs(x);
}
}
void qk()
{
for(int i=1;i<=n;i++)
mm[i]=0;
}
void bfs_bl()
{
for(int i=1;i<=n;i++)
{
qk();
sum=1;
vis[i]=0;
mm[i]=1;
bfs(i);
printf("%d: %.2lf%%\n",i,(sum*1.0)/(n*1.0)*100.0);
}
}
int main()
{
int e,u,v;
scanf("%d %d",&n,&e);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
m[i][j]=0;
}
}
for(int i=1;i<=e;i++)
{
scanf("%d %d",&u,&v);
m[u][v]=m[v][u]=1;
}
bfs_bl();
return 0;
}
相关文章推荐
- PTA 数据结构与算法题目集(中文)5-11 关键活动 (30分)
- PTA 数据结构与算法题目集(中文)6-6
- PTA 数据结构与算法题目集(中文)6-1
- PTA 数据结构与算法题目集(中文)6-9
- pta-数据结构与算法题目集(中文)-4-3 求链式表的表长
- PTA 数据结构与算法题目集(中文)6-11
- PTA 数据结构与算法题目集(中文)5-9 旅游规划 (25分)
- pta-数据结构与算法题目集(中文)--4-4 链式表的按序号查找
- pta-数据结构与算法题目集(中文)-4-1-单链表逆转
- PTA 数据结构与算法题目集(中文)5-4 是否同一棵二叉搜索树 (25分)
- PTA 数据结构与算法题目集(中文)6-2
- PTA 数据结构与算法题目集(中文)5-8 哈利·波特的考试 (25分)
- pta-数据结构与算法题目集(中文)-4-2 顺序表操作集
- PTA 数据结构与算法题目集(中文)6-5
- PTA 数据结构与算法题目集(中文)6-10
- PTA 数据结构与算法题目集(中文)5-5 堆中的路径 (25分)
- 数据结构与算法题目集(中文)——5-53 两个有序序列的中位数 (25分)——链表
- PTA 数据结构题目(1):最大子列和问题(分而治之、在线处理算法)
- PTA 数据结构与算法题目集 5-1 最大子列和问题
- 数据结构与算法题目集(中文)4-11 先序输出叶结点 (15分)