본문 바로가기
Algorithm/📖Baekjoon

#11403 경로 찾기

by yewoneeee 2022. 6. 25.

# 문제

# 입력 및 출력

# 풀이

N*N 행렬을 전부 조회해서 해당 좌표를 시작점으로 잡고 연결된 곳을 전부 1로 표시해줌

시작점으로 잡았던 좌표만 visit를 체크해줌

 

#include <iostream>
using namespace std;
int graph[100][100];
int visit[100][100];
int n;

void dfs(int x, int y) {
	visit[x][y] = 1;
	for (int i = 0; i < n; i++) {
		if (graph[y][i]) {
			graph[x][i] = 1;
			if (!visit[x][i]) dfs(x, i);
		}
	}
}

void print() {
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			cout << graph[i][j] << " ";
		}
		cout << "\n";
	}
}

int main() {
	cin >> n;
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			cin >> graph[i][j];
		}
	}
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			if (graph[i][j] && !visit[i][j]) dfs(i, j);
		}
	}
	print();
}

 

 

'Algorithm > 📖Baekjoon' 카테고리의 다른 글

#1966 프린터 큐  (0) 2022.06.28
#11052 카드 구매하기  (0) 2022.06.26
#1004 어린 왕자  (0) 2022.06.24
#1051 숫자 정사각형  (0) 2022.06.23
#1074 Z  (0) 2022.06.22

댓글