mooon๐ŸŒ™
STUDY
mooon๐ŸŒ™
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (170)
    • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ (147)
      • ๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (53)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv1 (13)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ž…๋ฌธ (54)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] SQL ๊ณ ๋“์  Kit (27)
    • BACK (4)
      • Spring (3)
      • PHP (0)
    • FRONT (5)
    • DevOps (8)
      • Jenkins (8)
    • GitHub๐ŸŒฑ (2)
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (1)
      • SQL (1)
    • Error ๐Ÿ’ฅ (0)
      • php (2)
    • ๐Ÿ˜‹ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • โญ ๊นƒํ—ˆ๋ธŒ
  • ๐Ÿ’• ๋ฐฉ๋ช…๋ก
  • ๐Ÿ’ฅ ํƒœ๊ทธ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • Python
  • SQL
  • SQL ๊ณ ๋“์  Kit
  • DevOps
  • c++
  • ๋ฐฑ์ค€
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ
  • ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ตœ๊ทผ ๊ธ€

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
mooon๐ŸŒ™

STUDY

๋ฐฑ์ค€ 1240 _ ๋…ธ๋“œ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ
์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐฑ์ค€ 1240 _ ๋…ธ๋“œ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ

2020. 11. 28. 14:59
728x90

www.acmicpc.net/problem/1240

 

1240๋ฒˆ: ๋…ธ๋“œ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ

N(2≤N≤1,000)๊ฐœ์˜ ๋…ธ๋“œ๋กœ ์ด๋ฃจ์–ด์ง„ ํŠธ๋ฆฌ๊ฐ€ ์ฃผ์–ด์ง€๊ณ  M(M≤1,000)๊ฐœ์˜ ๋‘ ๋…ธ๋“œ ์Œ์„ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ ๋‘ ๋…ธ๋“œ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ถœ๋ ฅํ•˜๋ผ.

www.acmicpc.net


โœจ ๋‚ด ์†Œ์Šค ์ฝ”๋“œ

#include<iostream>
#include<queue>
#include <vector>
using namespace std;


vector<pair<int, int> > tree[1001];
int Distance[1001][1001];
int Visited[1001];


void dfs(int start, int k, int len) {

	Distance[start][k] = len;
	int size = tree[k].size();
    
	for (int i = 0; i < size; i++) {
		int route = tree[k][i].first;
		int cost = tree[k][i].second;
        
		if (!Visited[route])
		{
			Visited[route] = 1;
			dfs(start, route, len + cost);
			Visited[route] = 0;
		}
	}
}


int main(void) {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
    
	int N, M, a,b,len;
	cin >> N >> M;
    
	for (int i = 0; i < N - 1; i++) {
		cin >> a >> b >> len;
		tree[a].push_back({ b,len });
		tree[b].push_back({ a,len });
	}
    
	for (int i = 1; i <= N; ++i)
	{
		Visited[i] = 1;
		dfs(i, i, 0);
		Visited[i] = 0;
	}
    
	for (int i = 0; i < M; i++) {
		cin >> a >> b;
		cout << Distance[a][b]<<'\n';
	}

	return 0;
}

 

๐Ÿ™ ๋ฌธ์ œ ํ’€์ด

bfs๋กœ๋„ ํ’€ ์ˆ˜ ์žˆ๋‹ค๋Š”๋ฐ, ๋‚˜๋Š” ์™œ์ธ์ง€ dfs๊ฐ€ ๋” ํŽธํ•ด์„œ dfs๋กœ ํ’€๊ฒŒ ๋˜์—ˆ๋‹ค

๋‚˜์ค‘์— bfs๋กœ๋„ ๋‹ค์‹œ ํ’€์–ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค

 

โญ ๋ฌธ์ œ ํ’€์ด ๊ฒฐ๊ณผ

728x90
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)
    '์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ๋ฐฑ์ค€ 2624 _ ๋™์ „ ๋ฐ”๊ฟ”์ฃผ๊ธฐ
    • ๋ฐฑ์ค€ 5546 _ ํŒŒ์Šคํƒ€
    • ๋ฐฑ์ค€ 2178 _ ๋ฏธ๋กœ ํƒ์ƒ‰
    • ๋ฐฑ์ค€ 11722 _ ๊ฐ€์žฅ ๊ธด ๊ฐ์†Œํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด
    mooon๐ŸŒ™
    mooon๐ŸŒ™
    ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๊ธฐ๋ก

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