[๋ฐฑ์ค€/C++] 17396๋ฒˆ ๋ฐฑ๋„์–ด

2022. 11. 11. 02:02ยท๋ฐฑ์ค€/C++

๋ฐฑ์ค€


๐Ÿค”๋ฌธ์ œ ์ดํ•ด

๋ง์€ ๊ฑฐ์ฐฝํ•˜์ง€๋งŒ ์ „ํ˜•์ ์ธ ๋‹ค์ต์ŠคํŠธ๋ผ ๋ฌธ์ œ์— ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์—†๋Š” ๊ตฌ๊ฐ„์ด ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ๋งŒ ์ถ”๊ฐ€๋œ ๋ฌธ์ œ์ด๋‹ค.


๐Ÿ”ฅํ’€์ด๐Ÿ”ฅ

๋‹ค์ต์ŠคํŠธ๋ผ๋กœ ๊ตฌํ˜„์„ ํ•˜๊ณ  ์ƒ๋Œ€์˜ ์‹œ์•ผ์— ๋ณด์ด๋Š” ๋ถ„๊ธฐ์ ์€ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š๋„๋ก ํ•ด์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. ๋„ฅ์„œ์Šค์˜ ๊ฒฝ์šฐ๋Š” ์‹œ์•ผ๊ฐ€ ๋ณด์ด์ง€๋งŒ ๊ฐˆ ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋ฏ€๋กœ ๋”ฐ๋กœ 0์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์ฃผ์—ˆ๋‹ค. 


#include <iostream>
#include <vector>
#include <queue>

using namespace std;
#define INF 10000000000

int n, m, a, b, t;
bool sight[100001];
vector<vector<pair<int, int>>> edge(100001);
long long dist[100001];

int main() {
    cin.tie(nullptr);
    cout.tie(nullptr);
    ios::sync_with_stdio(false);

    cin >> n >> m;
    for (int i = 0; i < n; i++) {
        cin >> sight[i];
        if (i == n - 1) sight[i] = false;
    }
    for (int i = 0; i < m; i++) {
        cin >> a >> b >> t;
        edge[a].push_back({b, t});
        edge[b].push_back({a, t});
    }
    for (int i = 0; i < n; i++) {
        dist[i] = INF;
    }
    dist[0] = 0;
    priority_queue<pair<long long, int>> pq;
    pq.push({0, 0});

    while (!pq.empty()) {
        int now = pq.top().second;
        long long time = -pq.top().first;
        pq.pop();

        if (dist[now] < time) continue;
        dist[now] = time;

        for (auto x: edge[now]) {
            long long next_time = time + x.second;
            int next = x.first;
            if (sight[next]) continue;
            if (dist[next] <= next_time) continue;
            dist[next] = next_time;
            pq.push({-next_time, next});
        }
    }
    if (dist[n - 1] == INF) cout << -1 << "\n";
    else cout << dist[n - 1] << "\n";

}
728x90

'๋ฐฑ์ค€ > C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€/C++] 15927๋ฒˆ ํšŒ๋ฌธ์€ ํšŒ๋ฌธ์•„๋‹ˆ์•ผ!!  (0) 2022.11.15
[๋ฐฑ์ค€/C++] 11656๋ฒˆ ์ ‘๋ฏธ์‚ฌ ๋ฐฐ์—ด  (0) 2022.11.14
[๋ฐฑ์ค€/C++] 20040๋ฒˆ ์‚ฌ์ดํด ๊ฒŒ์ž„  (0) 2022.11.03
[๋ฐฑ์ค€/C++] 17404๋ฒˆ RGB๊ฑฐ๋ฆฌ 2  (0) 2022.11.02
[๋ฐฑ์ค€/C++] 4889๋ฒˆ ์•ˆ์ •์ ์ธ ๋ฌธ์ž์—ด  (0) 2022.10.27
'๋ฐฑ์ค€/C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€/C++] 15927๋ฒˆ ํšŒ๋ฌธ์€ ํšŒ๋ฌธ์•„๋‹ˆ์•ผ!!
  • [๋ฐฑ์ค€/C++] 11656๋ฒˆ ์ ‘๋ฏธ์‚ฌ ๋ฐฐ์—ด
  • [๋ฐฑ์ค€/C++] 20040๋ฒˆ ์‚ฌ์ดํด ๊ฒŒ์ž„
  • [๋ฐฑ์ค€/C++] 17404๋ฒˆ RGB๊ฑฐ๋ฆฌ 2
yulee_to
yulee_to
  • yulee_to
    yulee
    yulee_to
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (107)
      • CS (2)
        • OS (0)
        • DB (0)
        • Network (2)
      • ๊ณต๋ถ€ (21)
        • Spring (9)
        • Java (12)
        • Python (0)
        • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (0)
        • ๊ธฐํƒ€ (0)
      • ๋ฐฑ์ค€ (39)
        • C++ (39)
        • Java (0)
      • ๋„์„œ (39)
        • ์ž๋ฐ”์˜ ์‹  (32)
        • ์Šคํ”„๋ง ์ž…๋ฌธ์„ ์œ„ํ•œ ์ž๋ฐ” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์›๋ฆฌ์™€ ์ดํ•ด (7)
      • ๊ธฐํƒ€ (4)
        • Blog (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๊ฐ์ฒด์ง€ํ–ฅ
    aws
    DP
    ๋‹ค์ด๋‚˜๋ฏนํ”„๋กœ๊ทธ๋ž˜๋ฐ
    boj
    ๋‹ค์ต์ŠคํŠธ๋ผ
    ๋ฌธ์ œํ’€์ด
    GodOfJava
    1์ผ1๋ฐฑ์ค€
    ๋ฐฑ์ค€
    ์Šคํ„ฐ๋””
    ์œ„์ƒ์ •๋ ฌ
    C++
    EC2
    ์ž๋ฐ”
    ์ž๋ฐ”์˜ ์‹ 
    Java
    ์Šคํ”„๋ง ์ž…๋ฌธ
    Spring
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
yulee_to
[๋ฐฑ์ค€/C++] 17396๋ฒˆ ๋ฐฑ๋„์–ด
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”