-
[백준/BOJ/1613] 역사알고리즘/백준 2024. 3. 17. 20:01728x90
Topology sort 인 줄 알았으나 Floyd 를 사용후에 하나의 정점에서 다른 정점으로 갈 수 있는지 없는지 여부만 파악
#include <iostream> using namespace std; const int MAX = 405; int N, K, dp[MAX][MAX]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> N >> K; for (int i = 0; i < K; i++) { int u, v; cin >> u >> v; dp[u][v] = 1; } for (int k = 1; k <= N; k++) { for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { if (dp[i][k] && dp[k][j]) dp[i][j] = 1; } } } int m; cin >> m; for (int i = 0; i < m; i++) { int u, v; cin >> u >> v; if (dp[u][v] == 1 && dp[v][u] == 0) cout << "-1\n"; else if (dp[u][v] == 0 && dp[v][u] == 1) cout << "1\n"; else cout << "0\n"; } return 0; }
728x90'알고리즘 > 백준' 카테고리의 다른 글
[백준/BOJ/17435] 합성함수와 쿼리 (0) 2024.03.18 [백준/BOJ/1647] 도시 분할 계획 (0) 2024.03.17 [백준/BOJ/1412] 일방통행 (0) 2024.03.17 [백준/BOJ/1507] 궁금한 민호 (0) 2024.03.17 [백준/BOJ/2276] 물 채우기 (0) 2024.01.26