Advertisement
Guest User

САША САС

a guest
Dec 17th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. /*
  6.  
  7.     Напомним, что вершина ориентированного графа называется
  8.     истоком, если в нее не входит ни одно ребро и
  9.     стоком, если из нее не выходит ни одного ребра.
  10.  
  11. */
  12.  
  13. int main() {
  14.     int n, source = 0, sink = 0, row_sum = 0, string_sum = 0;
  15.     cin >> n;
  16.     int **a = new int *[n];
  17.     for (int i = 0; i < n; i++)
  18.         a[i] = new int[n];
  19.  
  20.     for (int i = 0; i < n; i++)
  21.         for (int j = 0; j < n; j++)
  22.             cin >> a[i][j];
  23.  
  24.     for (int i = 0; i < n; i++) {
  25.         for (int j = 0; j < n; j++) {
  26.             row_sum += a[i][j];
  27.             string_sum += a[j][i];
  28.         }
  29.         if (row_sum == 0)
  30.             source++;
  31.         row_sum = 0;
  32.         if (string_sum == 0)
  33.             sink++;
  34.         string_sum = 0;    
  35.     }
  36.     cout << sink << " ";
  37.     for (int i = 0; i < n; i++) {
  38.         for (int j = 0; j < n; j++) {
  39.             string_sum += a[j][i];
  40.         }
  41.         if (string_sum == 0)
  42.             cout << i + 1 << " ";
  43.         string_sum = 0;    
  44.     }
  45.     cout << endl;
  46.     cout << source << " ";
  47.     for (int i = 0; i < n; i++) {
  48.         for (int j = 0; j < n; j++)
  49.             row_sum += a[i][j];
  50.         if (row_sum == 0)
  51.             cout << i + 1 << " ";
  52.         row_sum = 0;
  53.     }
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement