Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- /*
- Напомним, что вершина ориентированного графа называется
- истоком, если в нее не входит ни одно ребро и
- стоком, если из нее не выходит ни одного ребра.
- */
- int main() {
- int n, source = 0, sink = 0, row_sum = 0, string_sum = 0;
- cin >> n;
- int **a = new int *[n];
- for (int i = 0; i < n; i++)
- a[i] = new int[n];
- for (int i = 0; i < n; i++)
- for (int j = 0; j < n; j++)
- cin >> a[i][j];
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- row_sum += a[i][j];
- string_sum += a[j][i];
- }
- if (row_sum == 0)
- source++;
- row_sum = 0;
- if (string_sum == 0)
- sink++;
- string_sum = 0;
- }
- cout << sink << " ";
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- string_sum += a[j][i];
- }
- if (string_sum == 0)
- cout << i + 1 << " ";
- string_sum = 0;
- }
- cout << endl;
- cout << source << " ";
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++)
- row_sum += a[i][j];
- if (row_sum == 0)
- cout << i + 1 << " ";
- row_sum = 0;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement