알고리즘 모음(C++)

백준 11403 - 경로 찾기(C++) 본문

백준

백준 11403 - 경로 찾기(C++)

공대생의 잡다한 사전 2022. 5. 2. 01:32

문제 링크입니다. https://www.acmicpc.net/problem/11403

 

11403번: 경로 찾기

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

www.acmicpc.net

BFS를 이용한 문제입니다. vector를 이용한 그래프가 아닌 2차원 배열을 이용한 그래프 였습니다.

 

자세한 것은 코드를 참고해주세요

#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <stdio.h>
using namespace std;

int num;
int graph[101][101];
int n[101];

void connect(){
    for(int i = 1; i <= num; i++){
        for(int j = 1; j<= num; j++){
            for(int z = 1; z <= num; z++){
                if(graph[j][i] && graph[i][z]){
                       graph[j][z] = 1;
                }
            }
        }
    }
}

int main()
{
    cin >> num;
    for(int i = 1; i <= num; i++){
        for(int j = 1; j <= num; j++){
            scanf("%d", &graph[i][j]);
        }
    }
    connect();
    for(int i=1; i<=num; i++)
    {
         for(int j=1; j<=num; j++){

            printf("%d ",graph[i][j]);
         }
        printf("\n");

    }



    return 0;
}

 

 

질문 및 조언은 댓글 남겨주세요

'백준' 카테고리의 다른 글

백준 1743 - 음식물 피하기(C++)  (0) 2022.05.02
백준 13565 - 침투(C++)  (0) 2022.05.02
백준 1766 - 문제집(C++)  (0) 2022.05.02
백준 11000 - 강의실 배정(C++)  (0) 2022.05.02
백준 11047 - 동전 0(C++)  (0) 2022.04.28