📄 1232 畅通工程.cpp
字号:
/*
1232 畅通工程
Time Limit : 2000 ms Memory Limit : 32768 K Output Limit : 256 K
GUN C++
*/
#include <iostream>
#include <cstdio>
#include <string>
#include <queue>
using namespace std;
const int Max=1001;
short road[Max][Max];
bool v[Max];
queue <short> Q;
int bfs(int node)
{
short temp,i;
v[node]=true;
temp=road[node][0];
for(i=1;i<=temp;i++)
if(!v[ road[node][i] ])
Q.push(road[node][i]);
while(!Q.empty())
{
temp=Q.front();
Q.pop();
if(!v[temp])
bfs(temp);
}
}
int main()
{
int t,n,i,m,x,y,ans;
while(scanf("%d %d",&n,&m)==2 && n!=0)
{
memset(v,false,sizeof(v));
for(i=0;i<Max;i++)
road[i][0]=0;
for(i=0;i<m;i++)
{
scanf("%d %d",&x,&y);
road[x][0]++;
road[x][ road[x][0] ] =y;
road[y][0]++;
road[y][ road[y][0] ] =x;
}
Q.push(1);
ans=0;
for(i=1;i<=n;i++)
if(!v[i])
{ ans++;bfs(i);}
printf("%d\n",ans-1);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -