Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. vector <vector <int>> g;
  6. vector <int> an;
  7. map <pair <int, int >, int> mp;
  8. vector <bool> used;
  9. map <int, int > h;
  10.  
  11. void dfs(int j, int x)
  12. {
  13. used[j] = 1;
  14. int cnt = 1;
  15. for (int i = 0; i < g[j].size(); ++i)
  16. {
  17. if (cnt == x)
  18. cnt++;
  19. if (!used[g[j][i]])
  20. {
  21. int r1 = mp[{j, g[j][i]}];
  22. int r2 = mp[{g[j][i],j}];
  23. int a = max(r1, r2);
  24. an[a] = cnt;
  25. dfs(g[])
  26. cnt++;
  27. }
  28. }
  29. }
  30.  
  31. int main()
  32. {
  33. int n, m, a, b;
  34. cin >> n >> m;
  35. g.resize(n + 1);
  36. an.resize(m + 1);
  37. used.resize(n + 1);
  38. for (int i = 0; i < m; ++i)
  39. {
  40. cin >> a >> b;
  41. g[a].push_back(b);
  42. g[b].push_back(a);
  43. mp[{a,b}] = i;
  44. }
  45. int ans = 0;
  46. for (int i = 1; i <= n; ++i)
  47. ans = max(ans, (int)g[i].size());
  48. cout << ans << endl;
  49. dfs(1, 0);
  50. for (int i = 0; i < an.size(); ++i)
  51. cout << an[i] << " ";
  52. return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement