๐ PS/Algorithm
[Baekjoon] 11403๋ฒ: ๊ฒฝ๋ก ์ฐพ๊ธฐ
hades1
2024. 7. 25. 09:14
๐ฅ ๋ฌธ์
https://www.acmicpc.net/problem/11403
๐ ์ค๊ณ
๋ชจ๋ i, j ์์ ๋ํ์ฌ i์์ j๋ก ์ด๋ํ ์ ์๋์ง ๋ฌป๊ณ ์์ผ๋ฏ๋ก, i์์ j๊น์ง ๊ฐ๋๋ฐ ๊ฑฐ๋ฆฌ๊ฐ 0๋ณด๋ค ํฌ๊ธฐ๋ง ํ๋ฉด ๋๋ค. ๋ชจ๋ ์์ ๋ํ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ํ๋ก์ด๋ ์์ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ i์ j๊ฐ ์ฐ๊ฒฐ๋์ด ์๋์ง ํ์ธํ ๋, ์ค๊ฐ์ง์ ์ธ k๋ฅผ ์ค์ ํ๊ณ , i์ k, k์ j๊ฐ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉด i์ j๊ฐ ์ฐ๊ฒฐ๋์ด ์๋ ๊ฒ์ผ๋ก ๊ฐฑ์ ํ๋ค.
๐ ํ์ด
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n, temp;
vector<vector<int>> adj_matrix(100, vector<int>(100));
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> adj_matrix[i][j];
}
}
for (int k = 0; k < n; k++) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (adj_matrix[i][k] != 0 && adj_matrix[k][j] != 0) {
adj_matrix[i][j] = 1;
}
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << adj_matrix[i][j] << " ";
}
cout << "\n";
}
return 0;
}