-
[Algorithm] 프로그래머스 순위 - C++, 플로이드 와샬쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 3. 4. 14:07반응형
#include <vector> using namespace std; bool fight[110][110]; int solution(int n, vector<vector<int>> results) { int answer = 0; // make input for(int i = 0; i < results.size(); i++) fight[results[i][0]][results[i][1]] = true; // floyid for(int via = 1; via <= n; via++){ for(int from = 1; from <= n; from++){ if(!fight[from][via]) continue; for(int to = 1; to <= n; to++){ if(fight[via][to]) fight[from][to] = true; } } } // for(int from = 1; from <= n; from++){ // for(int via = 1; via <= n; via++){ // if(fight[from][via] == false) continue; // for(int to = 1; to <= n; to++){ // if(fight[from][via] && fight[via][to]) // fight[from][to] = true; // } // } // } // search for(int i = 1; i <= n; i++){ int count = 0; for(int j = 1; j <= n; j++){ if(i == j) continue; if(fight[i][j] || fight[j][i]) count++; } if(count == n-1) answer++; } return answer; }
플로이드 와샬 아이디어로 왜 안되나 했는데 플로이드 와샬 순서가 via-from-to 라고 합니다... 지금까지 from-via-to 라고 알아서 계속 헛걸음을 했네요. 혹시나 테스트 2, 7, 8 정도를 계속 틀린다면 탐색 순서를 보면 좋을 듯 합니다.
반응형'쾌락없는 책임 (공부) > 알고리즘 문제풀이' 카테고리의 다른 글
[Algorithm] 백준 17070 파이프 옮기기 - C++, DFS (0) 2022.03.06 [Algorithm] 백준 10217 KCM Travel - C++, 다익스트라, DP (0) 2022.03.04 [Algorithm] 백준 18186 라면 사기 (Large) (0) 2022.03.03 [Algorithm] 백준 18185 라면 사기 (Small) - C++, 그리디 (0) 2022.03.03 [Algorithm] 프로그래머스 기능개발 - C++ (0) 2022.03.02