islam2366

ANT_PRAC_Tree

Apr 29th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.88 KB | None | 0 0
  1. /*
  2. Input:
  3.  
  4. */
  5.  
  6. /*
  7. Output:
  8.  
  9. */
  10.  
  11. #include <stdio.h>
  12. #define SIZE 102
  13. int Grid[SIZE][SIZE];
  14. int Visited[SIZE];
  15. int Child[SIZE];
  16. int N, E;
  17. void init()
  18. {
  19.     int i, j;
  20.     for (i = 0; i < SIZE; i++) for (j = 0; j < SIZE; j++)
  21.         Grid[i][j] = 0;
  22.     for (i = 0; i < SIZE; i++)
  23.         Visited[i] = 0;
  24. }
  25. int dfs(int node, int parent)
  26. {
  27.     int i;
  28.     Visited[node] = 1;
  29.     int size = 1;
  30.     for (i = 0; i < SIZE; i++) {
  31.         if (1 == Grid[node][i] && i != parent) {
  32.             size += dfs(i, node);
  33.         }
  34.     }
  35.     Child[node] = size;
  36.     return Child[node];
  37. }
  38. int main()
  39. {
  40.     freopen("input2.txt", "r", stdin);
  41.     freopen("output2.txt", "w", stdout);
  42.     int i, j, x, y;
  43.     scanf("%d %d", &N, &E);
  44.     init();
  45.     for (i = 0; i < E; i++) {
  46.         scanf("%d %d", &x, &y);
  47.         Grid[x][y] = Grid[y][x] = 1;
  48.     }
  49.     dfs(0, -1);
  50.     for (i = 0; i < SIZE; i++) {
  51.         if (0 == Visited[i])
  52.             continue;
  53.         printf("%d ---> %d\n", i, Child[i]);
  54.     }
  55. }
Add Comment
Please, Sign In to add comment