๋ฌธ์
์ฝ๋
#include <iostream>
#include <vector>
#define INF 1e9
using namespace std;
int solution(int N, vector<vector<int> > road, int K) {
int graph[51][51]={0, };
int answer = 0;
vector<int>memory_city_cnt;
for(int i=0; i<N; i++){
for(int k=0; k<N; k++){
if(i==k) graph[i][k] = 0;
else graph[i][k] = INF;
}
}
for(int i=0; i<road.size(); i++){
int a = road[i][0]-1;
int b = road[i][1]-1;
int cost = road [i][2];
graph[a][b] = min(graph[a][b],cost);
graph[b][a] = min(graph[b][a],cost);
}
for(int k=0; k<N; k++){
for(int a=0; a<N; a++){
for(int b=0; b<N; b++){
graph[a][b]=min(graph[a][b],graph[a][k]+graph[k][b]);
}
}
}
for(int k=0; k<N; k++){
if(graph[0][k]<=K) memory_city_cnt.push_back(k);
}
answer = memory_city_cnt.size();
return answer;
}
ํ์ด
์ผ๋ฐ์ ์ธ ํ๋ก์ด๋-์์ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ํํ ํ ๋ง์ง๋ง์ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง๊ฒ 1๋ฒ ๋ง์์ ์๋ ์์์ ์ด K ์ดํ์ ์๊ฐ์ ๋ฐฐ๋ฌ์ด ๊ฐ๋ฅํ ๋ง์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ ๋ฌธ์ ์ ๋๋ค.
์ฃผ์ํด์ผ ํ ์ ์ ์ ๋ ฅ์์ ์๋์ ์ฌ์ง๊ณผ ๊ฐ์ด ํ ๋๋ก์ ์ ๋ณด๊ฐ ์ค๋ณตํด์ ์ฃผ์ด์ง๊ธฐ ๋๋ฌธ์ ์ ๋ ฅ์ ๋ฐ์ ๋ ์ต์ ๊ฐ์ผ๋ก ๊ฐฑ์ ํด์ค์ผ ํฉ๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ํ๋ก๊ทธ๋๋จธ์ค(Programmers)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์ฝ์์ ๊ฐ์์ ๋ง์ (Level 1) (0) | 2022.02.13 |
---|---|
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ํผ๋ณด๋์น ์( Level2) (0) | 2021.11.08 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์( Level1) (0) | 2021.11.08 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ( Level1) (0) | 2021.11.08 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์?( Level1) (0) | 2021.11.08 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฐฉ๋ฌธ ๊ธธ์ด( Level 2) (0) | 2021.11.08 |
๋๊ธ