fork download
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. #define go ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
  4. using namespace std;
  5.  
  6. int const N = 2e5 + 10;
  7. void dfs(int s, vector<int> adj[], int color[], int c)
  8. {
  9. color[s] = c;
  10. for (int i : adj[s])
  11. {
  12. if (color[i] == 0)
  13. {
  14. dfs(i, adj, color, c);
  15. }
  16. }
  17. }
  18. void solve()
  19. {
  20. int n, m, q;
  21. cin >> n >> m >> q;
  22. vector<int> adj[n + 1];
  23. int color[n + 1];
  24. for (int i = 0; i <= n; i++)
  25. {
  26. color[i] = 0;
  27. }
  28. for (int i = 0; i < m; i++)
  29. {
  30. int u, v;
  31. cin >> u >> v;
  32. adj[u].push_back(v);
  33. adj[v].push_back(u);
  34. }
  35. char ans[q];
  36. for (int i = 1; i <= n; i++)
  37. {
  38. if (color[i] == 0)
  39. {
  40. dfs(i, adj, color, i);
  41. }
  42. }
  43. for (int i = 0; i < q; i++)
  44. {
  45. int u, v;
  46. cin >> u >> v;
  47. ans[i] = (color[u] == color[v]) + '0';
  48. }
  49. for (char c : ans)
  50. {
  51. cout << c;
  52. }
  53. }
  54.  
  55. int main()
  56. {
  57. int t = 1;
  58. cin >> t;
  59. // go;
  60. while (t--)
  61. {
  62. solve();
  63. cout << "\n";
  64. }
  65. return 0;
  66. }
Success #stdin #stdout 0.01s 5516KB
stdin
1
3 1 4
1 2
1 2
2 3
3 1
2 2
stdout
1001