[ 백준 ] 9372 / 상근이의 여행

金弘均·2021년 9월 15일
0

Baekjoon Online Judge

목록 보기
93/228
post-thumbnail

# Appreciation

/*
 * Problem :: 9372 / 상근이의 여행
 *
 * Kind :: Graph
 *
 * Insight
 * - 가장 적은 종류의 비행기를 타고 모든 국가들을 여행한다
 *   + 가장 적은 '종류' 의 비행기를 타고 모든 국가들을 여행한다
 *     # 비행 스케줄은 연결 그래프이다
 *       간선은 비행기의 한 종류이다
 *       -> 모든 정점이 연결된 그래프 중에서 간선의 개수가 최소인 그래프를 구해야한다
 *          => 연결 그래프에서 모든 정점이 연결되기 위해선 최소 N-1 개의 간선이 필요하다
 *             따라서 답은 N-1 이다
 *
 * - 모든 정점이 연결된 그래프 중에서 간선의 개수가 최소인 그래프
 *   + 최소 신장 트리가 위의 성질을 만족하는 대표적인 그래프이다
 *     => 이때 간선의 개수도 N-1 이다
 *
 * Point
 * - Greedy 같은 Graph 문제라니... 신선하다
 */

# Code

//
//  BOJ
//  ver.C++
//
//  Created by GGlifer
//
//  Open Source

#include <iostream>

using namespace std;

#define endl '\n'

// Set up : Global Variables
/* None */

// Set up : Functions Declaration
/* None */


int main()
{
    // Set up : I/O
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    // Set up : Input
    int T; cin >> T;

    while (T--) {
        int N, M;
        cin >> N >> M;
        for (int i=0; i<M; i++) {
            int a, b;
            cin >> a >> b;
        }

        // Control : Output
        cout << N-1 << endl;
    }
}

// Helper Functions
/* None */
profile
이런 미친 게임을 봤나! - 옥냥이

0개의 댓글