https://www.acmicpc.net/problem/11265

 

11265번: 끝나지 않는 파티

입력의 첫 번째 줄에는 파티장의 크기 N(5 ≤ N ≤ 500)과 서비스를 요청한 손님의 수 M(1 ≤ M ≤ 10,000) 이 주어진다. 각각의 파티장은 1번부터 N번까지 번호가 붙여져 있다. 다음에는 N개의 줄에 걸

www.acmicpc.net


    • 간단한 플로이드-와샬 문제.
    • 최대 500개 까지의 노드의 연결 그래프가 주어졌을 때, 모든 노드간의 최단 거리를 구해 놓는다.
    • M 개의 서비스 요청에 대해서 각각의 최단 시간과 비교하여 가능 여부를 출력한다.

#include <iostream>

using namespace std;

int N, M, A, B, C;
int graph[501][501];

int main(void)
{
    cin >> N >> M;
    for(int r = 1 ; r <= N ; r++)
    {
        for(int c = 1 ; c <= N ; c++)
        {
            cin >> graph[r][c];
        }
    }

    for(int k = 1 ; k <= N ; k++)
    {
        for(int r = 1 ; r <= N ; r++)
        {
            for(int c = 1 ; c <= N ; c++)
            {
                if(graph[r][k] + graph[k][c] < graph[r][c])
                {
                    graph[r][c] = graph[r][k] + graph[k][c];
                }
            }
        }
    }

    for(int i = 0 ; i < M ; i++)
    {
        cin >> A >> B >> C;
        if(graph[A][B] <= C)
        {
            cout << "Enjoy other party\n";
        }
        else
        {
            cout << "Stay here\n";
        }
    }
}

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

[백준] 15723 : n단 논법  (0) 2021.06.09
[백준] 3190 : 뱀  (0) 2021.06.08
[백준] 17396 : 백도어  (0) 2021.06.06
[백준] 15665 : N과 M (11)  (0) 2021.06.04
[백준] 12886 : 돌 그룹  (0) 2021.06.03

+ Recent posts