[11403] 경로 찾기, c++

2021. 2. 7. 00:12·DEV/PS

[11403] 경로 찾기

 

www.acmicpc.net/problem/11403

 

11403번: 경로 찾기

가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오.

www.acmicpc.net

막간을 이용해 풀었던 마지막 문제

이것도 진짜 기본적인 그래프 문제처럼 보인다. 함정이 있었음 ㅋㄷ

 

#include <iostream>
#include <queue>
#include <vector>
using namespace std;
int arr[101][101]={0};
int n;
void bfs(int start){
	queue<int> q;
	int visit[101]={0};
	q.push(start);
	while(!q.empty()){
		int x = q.front();
		q.pop();
		for(int i=0; i<n; i++){
			if(!visit[i] && arr[x][i]==1){
				q.push(i);
				visit[i] = 1;
				arr[start][i] = 1;
			}
		}
	}
}
int main(){
	cin >> n;
	int m;
	for(int i=0; i<n; i++){
		for(int j=0; j<n; j++){
			scanf("%d", &m);
			if(m==1){
				arr[i][j] = 1;
			}
		}
	}
	for(int i=0; i<n; i++){
		bfs(i);
	}
	for(int i=0; i<n; i++){
		for(int j=0; j<n; j++){
			printf("%d ", arr[i][j]);
			if(j==n-1)	printf("\n");
		}
	}
}

그냥 입력 받는 대로 인접행렬 만들어주고, 정점마다 bfs 돌려서 연결 되는 곳은 인접행렬을 1로 바꿔주면 된다. 계속 답이 이상하게 나왔는데 자세히 보니 자기 자신한테 다시 돌아올 수 있는 경우가 체크가 안되고 있었다.

어떻게 할 까 생각해봤는데 그냥 처음에 bfs 돌렸을 때 바로 visit배열을 1로 바꿔주면 안되는 거였음.

즉 visit[start] = 1; 을 하면 안됨! => 자기 자신, 즉 1->1로 가는 경우를 생각하지 않아버림.

무튼 다른사람은 다 생각했을 지라도 난 이거 생각 못하다 고쳤음 ㅋㄷ

위에 두 문제보다는 쉬운 그래프 문제

 

저작자표시 (새창열림)

'DEV > PS' 카테고리의 다른 글

[2156] 포도주 시식, c++  (0) 2021.02.07
[2579] 계단 오르기, c++  (0) 2021.02.07
[1325] 효율적인 해킹, c++  (0) 2021.02.07
[2468] 안전 영역, c++  (0) 2021.02.07
[9372] 상근이의 여행​, c++  (0) 2021.02.07
'DEV/PS' 카테고리의 다른 글
  • [2156] 포도주 시식, c++
  • [2579] 계단 오르기, c++
  • [1325] 효율적인 해킹, c++
  • [2468] 안전 영역, c++
jobchae
jobchae
말하는 감자지만, 코드를 끄적이는 Node.js 백엔드 개발자입니다.
  • jobchae
    JOBCHAE
    jobchae
  • 전체
    오늘
    어제
    • 🚀 JOBCHAE (182)
      • DEV (151)
        • PS (108)
        • Node.js (12)
        • React (3)
        • docker (1)
        • 잡다한 개발 일지 (21)
        • injection (1)
        • JS, TS (3)
        • DB (2)
      • 축구 (0)
      • 일상 (19)
      • 영화 (3)
      • 음악 (8)
  • 블로그 메뉴

    • 💻 Github
    • 🙋🏻 Linkedin
    • 📖 방명록
  • 링크

    • PS Github
  • 공지사항

  • 인기 글

  • 태그

    이분탐색
    일상
    boj
    nodejs
    BFS
    슬랙
    Nest.js
    typescript
    렛츠락페스티벌
    Express
    react
    db
    회고
    리액트
    DP
    SOPT
    위상정렬
    우선순위큐
    알고리즘
    GitHub
    슬랙봇
    JavaScript
    개발
    DFS
    백준
    node.js
    앱잼
    PS
    mongoDB
    솝트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
jobchae
[11403] 경로 찾기, c++
상단으로

티스토리툴바