Advertisement
dmkozyrev

185.cpp

May 11th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | None | 0 0
  1. #pragma GCC diagnostic ignored "-Wunused-result"
  2.  
  3. #include <stdio.h>
  4. #include <bits/stdc++.h>
  5.  
  6. int main() {
  7.     int n, curr; std::cin >> n >> curr;
  8.     std::vector<std::vector<char>> faster(1+n, std::vector<char>(1+n, -1));
  9.     int a, b;
  10.     while (scanf("%d %d", &a, &b) == 2) {
  11.         faster[a][b] = true;
  12.         faster[b][a] = false;
  13.     }
  14.     bool flag = true;
  15.     while (flag) {
  16.         flag = false;
  17.         for (int a = 1; a <= n; ++a) {
  18.             for (int b = 1; b <= n; ++b) {
  19.                 if (faster[a][b] > -1) continue;
  20.                 for (int c = 1; c <= n; ++c) {
  21.                     if (faster[a][c] == 1 && faster[c][b] == 1) {
  22.                         faster[a][b] = 1;
  23.                         faster[b][a] = 0;
  24.                         flag = true;
  25.                         break;
  26.                     }
  27.                 }
  28.             }
  29.         }
  30.     }
  31.     for (int i = 1; i <= n; ++i) {
  32.         if (curr != i && (faster[curr][i] == -1 || faster[curr][i] == 0)) {
  33.             std::cout << "No" << std::endl; return 0;
  34.         }
  35.     }
  36.     std::cout << "Yes" << std::endl;
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement