Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.58 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define MAX 100
  3. using namespace std;
  4. vector < vector < int > > grafo;
  5. int visitados[MAX];
  6. char alfabeto[]="abcdefghijklmnopqrstuvwxyz";
  7. string comp;
  8. void dfs(int u){
  9.     visitados[u]=1;
  10.     int z=0;
  11.     comp+=alfabeto[u];
  12.     for(int i=0;i<grafo[u].size();i++){
  13.         int v = grafo[u][i];
  14.         if(!visitados[v]){
  15.             dfs(v);
  16.         }
  17.     }
  18.  
  19. }
  20. int main(){
  21.  
  22.     int n,m,t;
  23.     int cont=0,caso=0;
  24.     cin >> t;
  25.     while(t--){
  26.         cin >> n >> m;
  27.         cont=0;
  28.         grafo.assign(MAX, vector < int > ());
  29.         memset(visitados, 0, sizeof visitados);
  30.         while(m--){
  31.             char a,b;
  32.             cin >> a >> b;
  33.             int x,y;
  34.             for(int i=0;i<strlen(alfabeto);i++){
  35.                 if(a==alfabeto[i]){
  36.                     x=i;
  37.                     break;
  38.                 }
  39.             }
  40.             for(int i=0;i<strlen(alfabeto);i++){
  41.                 if(b==alfabeto[i]){
  42.                     y=i;
  43.                     break;
  44.                 }
  45.             }
  46.             grafo[x].push_back(y);
  47.             grafo[y].push_back(x);
  48.         }
  49.         printf("Case #%d:\n",++caso);
  50.         for(int i=0;i<n;i++){
  51.             if(!visitados[i]){
  52.                 dfs(i);
  53.                 cont++;
  54.                 sort(comp.begin(),comp.end());
  55.                 for(int j=0;j<comp.size();j++){
  56.                     cout << comp[j] << ",";
  57.                 }
  58.                 comp.clear();
  59.                 putchar('\n');
  60.             }
  61.         }
  62.         printf("%d connected components\n\n",cont);
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement