Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. vector<vector<int>> readArray () {
  6. int n;
  7. cin >> n;
  8. vector<vector<int>> array (n, vector<int> (n, 0));
  9. for (int i = 0; i != n; ++i) {
  10. for (int j = 0; j != n; ++j) {
  11. cin >> array[j][i];
  12. }
  13. }
  14. return array;
  15. }
  16.  
  17. void writeArray (const vector<vector<int>>& array) {
  18. for (int i = 0; i != array.size(); ++i) {
  19. for (int j = 0; j != array.size(); ++j) {
  20. cout << array[j][i] << ' ';
  21. }
  22. cout << '\n';
  23. }
  24. }
  25.  
  26. void dfs (int n, vector<vector<int>>& array) {
  27. vector<bool> visited (n, false);
  28. visited[n] = true;
  29. for (int i = 0; i != array.size(); ++i) {
  30. if (!visited[i]) {
  31. dfs(i, array);
  32. }
  33. }
  34. for (int i = 0; i != array.size(); ++i) {
  35. if (visited[i]) {
  36. array[n][i] = 1;
  37. array[i][n] = 1;
  38. }
  39. }
  40. }
  41.  
  42. int main() {
  43. vector<vector<int>> graph = readArray();
  44. for (int i = 0; i != graph.size(); ++i) {
  45. dfs(i, graph);
  46. }
  47. writeArray(graph);
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement