[백준 14938번] 서강그라운드

2023. 9. 30. 08:47·알고리즘 문제풀이/백준
반응형

문제 링크: https://www.acmicpc.net/problem/14938

 

14938번: 서강그라운드

예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을

www.acmicpc.net

<문제 풀이> 플로이드-워셜 알고리즘

 

플로이드-워셜 알고리즘을 사용하여 각 정점에서 다른 모든 정점까지의 최단거리를 구하고, 탐색 범위 내에 존재하는 아이템들을 선택하면 됩니다.

 

<C++소스코드>

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;

const int MAX_N = 100;

int items[MAX_N + 1];
int d[MAX_N + 1][MAX_N + 1];
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
 
    int n, m, r; cin >> n >> m >> r;
    for (int i = 1; i <= n; i++) {
        cin >> items[i];
    }
    memset(d, 0x3f, sizeof(d));

    for (int i = 1; i <= n; i++) {
        d[i][i] = 0;
    }

    for (int i = 0; i < r; i++) {
        int u, v, w; cin >> u >> v >> w;
        d[u][v] = w;
        d[v][u] = w;
    }

    for (int k = 1; k <= n; k++) {
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= n; j++) {
                d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
            }
        }
    }
    

    int ans = 0;

    for (int i = 1; i <= n; i++) {
        int temp = 0;
        for (int j = 1; j <= n; j++) {
            if (d[i][j] <= m) {
                temp += items[j];
            }
        }
        ans = max(ans, temp);
    }
    cout << ans;

    return 0;
}
반응형
저작자표시 (새창열림)

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

[백준 1948번] 임계경로  (1) 2023.10.04
[백준 24042번] 횡단보도  (1) 2023.10.04
[백준 6497번] 전력난  (0) 2023.09.30
[백준 1922번] 네트워크 연결  (0) 2023.09.28
[백준 4485] 녹색 옷 입은 애가 젤다지?  (0) 2023.09.27
'알고리즘 문제풀이/백준' 카테고리의 다른 글
  • [백준 1948번] 임계경로
  • [백준 24042번] 횡단보도
  • [백준 6497번] 전력난
  • [백준 1922번] 네트워크 연결
슥지니
슥지니
개발 블로그
  • 슥지니
    슥지니의 코딩노트
    슥지니
  • 전체
    오늘
    어제
    • 분류 전체보기 (199)
      • 알고리즘 문제풀이 (158)
        • 백준 (158)
      • 알고리즘 (6)
      • Node.js (2)
        • MongoDB (1)
        • 기타 (1)
      • spring (0)
      • 가상화폐 (1)
        • 바이낸스(Binance) (1)
      • C++ 테트리스 게임 (1)
      • C++ (10)
      • 안드로이드 프로그래밍 (21)
        • 코틀린 (21)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    dfs
    BFS
    C
    dp
    Kotlin
    그래프
    우선순위 큐
    코틀린
    C++
    구현
    백트랙킹
    콘솔
    백준
    시뮬레이션
    다이나믹 프로그래밍
    알고리즘
    그리디
    자료구조
    콘솔 테트리스 게임
    코틀린을 활용한 안드로이드 프로그래밍
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
슥지니
[백준 14938번] 서강그라운드
상단으로

티스토리툴바