다익스트라

    [다익스트라] (백준 9370) 미확인 도착지

    알고리즘 다익스트라 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include #include #include #include #define MAXNUM 2001 #define INF 987654321 using namespace std; int n, m, t; int s, g, h; vector v[MAXNUM]; vector goal; int dp[MAXNUM]; void Solved(int start) { for (int i = 1; i second; int i_cur = iter->first; if (dp[i_cur] > dp[cur] + i_cost) { dp[i_cur] = dp[cur] + i_cost; pq.push({ -dp[i_cur],i_cur }); }..

    [다익스트라] (백준 4485) 녹색 옷 입은 애가 젤다지?

    알고리즘 다익스트라 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include #include #define MAXNUM 126 #define INF 987654321 using namespace std; int N; int arr[MAXNUM][MAXNUM]; int d[MAXNUM][MAXNUM]; int dx[4] = { 1,-1,0,0 }; int dy[4] = { 0,0,1,-1 }; bool IsRange(int x, int y) { return (x >= 0 && x = 0 && y < N); } int Solved(int x,int y) { for (int y = 0; y < N; y++) { for (int x = 0; x < N; x++) ..

    [다익스트라] (백준 5972) 택배 배송

    알고리즘 다익스트라 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include #include #include #define MAXNUM 50001 #define INF 987654321 using namespace std; int N, M; vector v[MAXNUM]; int d[MAXNUM]; int Solved(int start, int end) { priority_queue pq; d[start] = 0; pq.push({ 0,start }); while (!pq.empty()) { int cost = -pq.top().first; int cur = pq.top().second; pq.pop(); for (auto iter = v[cur].begin(); iter..

    [class4] (백준 11779) 최소비용 구하기 2

    알고리즘 다익스트라 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include #include #include #include #define INF 987654321 using namespace std; struct Road { int goal; int time; }; int N, M, X; vector v[1001]; int d[1001]; int route[1001]; void Solved(int start, int goal) { priority_queue pq; for (int i = 1; i time goal]) { d[iter->goal] = time + iter->time; route[iter->goal] = current; pq.push({ -..

    [class4] (백준 1238) 파티

    알고리즘 다익스트라, 우선순위 큐 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include #include #include #define INF 987654321 using namespace std; struct Road { int goal; int time; }; int N, M, X; vector v[1001]; int d[1001]; int Solved(int start, int goal) { priority_queue pq; for (int i = 1; i time goal]) { d[iter->goal] = time + iter->time; pq.push({ -(time + iter->time),iter->goal }); } } } return ..

    [class4] (백준 14938) 서강그라운드

    알고리즘 다익스트라, 그래프 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include #include #include #define INF 987654321 using namespace std; struct Area { int goal; int value; }; int N, M, R; int itemNum[101]; vector node[101]; int d[101]; int Solved(int start) { queue q; for (int i = 1; i goal] > d[currentNum] + iter->value) { d[iter->goal] = d[currentNum] + iter->value; q.push(iter->goal); } } } int countNu..