๐Ÿ‘Š 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;
}