rrrrr

 avatar
unknown
c_cpp
2 years ago
1.0 kB
4
Indexable
#include<bits/stdc++.h>
using namespace std;

int col[100],d[100],par[100];
queue<int>Q;
vector<int>adj[100];

void bfs(int source){
    Q.push(source);
    col[source]=1;
    d[source]=0;
while(!Q.empty()){
  int u = Q.front();
  Q.pop();

  for(int i=0;i<adj[u].size();i++){
    int v=adj[u][i];
    if(col[v]==0){
        col[v]=1;
        d[v]=d[u]+1;
        par[v]=u;
        Q.push(v);
    }
  }
  col[u]=2;
}
}
void connectivity(int n){
for(int i=0;i<n;i++){
    if(col[i]==0){
        cout<<"Disconnected"<<endl;
        return;
    }
}
cout<<"Connected"<<endl;
}


int main(){
int n,i,u,v,edge,cost;
cin>>n>>edge;
vector<int>adj[100];
for(int i=0;i<edge;i++){
    cin>>u>>v;
    adj[u].push_back(v);
    adj[v].push_back(u);
}
for(i=0;i<n;i++){
    col[i]=0;
    par[i]=-1;
    d[i]=99999;
}
int source;
cout<<"source: ";
cin>>source;

bfs(source);
connectivity(n);
cout<<"cost: "<<source;
for(cost=0;cost<n;cost++){
if(col[cost]!=0){
    cout<<"cost: "<<cost<<d[cost]<<endl;
}
cout<<endl;
}
cout<<endl;
return 0;
}
Editor is loading...
Leave a Comment