[백준-11403] 경로 찾기
in Coding Test on 백준
기본 그래프 문제를 DFS로 풀이 하였다.
Code
#include <iostream>
#include <cstring>
using namespace std;
int N;
int nodes[101][101];
bool check[101];
void dfs(int x) {
for (int i = 0; i < N; i++) {
if (nodes[x][i] && !check[i]) {
check[i] = true;
dfs(i);
}
}
}
int main() {
scanf("%d", &N);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
scanf("%d", &nodes[i][j]);
}
}
for (int i = 0; i < N; i++) {
memset(check, 0, sizeof(check));
dfs(i);
for (int j = 0; j < N; j++) {
if (check[j])
nodes[i][j] = 1;
}
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", nodes[i][j]);
}
printf("\n");
}
return 0;
}