일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- tensorflow
- 회고록
- 분할 정복
- 자바스크립트
- Overfitting
- pytorch
- 조합론
- dropout
- 가끔은 말로
- 문자열
- 우선 순위 큐
- object detection
- NEXT
- DP
- 알고리즘
- 크루스칼
- 가끔은_말로
- 다익스트라
- 너비 우선 탐색
- 세그먼트 트리
- 미래는_현재와_과거로
- 백트래킹
- back propagation
- 2023
- dfs
- BFS
- lazy propagation
- 이분 탐색
- 플로이드 와샬
- c++
Archives
- Today
- Total
Doby's Lab
백준 11265번: 끝나지 않는 파티 (C++) 본문
https://www.acmicpc.net/problem/11265
11265번: 끝나지 않는 파티
입력의 첫 번째 줄에는 파티장의 크기 N(5 ≤ N ≤ 500)과 서비스를 요청한 손님의 수 M(1 ≤ M ≤ 10,000) 이 주어진다. 각각의 파티장은 1번부터 N번까지 번호가 붙여져 있다. 다음에는 N개의 줄에 걸
www.acmicpc.net
Solved By: Floyd-Warshall
A -> B로 가는 일방통행 도로가 있지만 다른 파티장을 경유하여 더 빠르게 갈 수 있는 경로가 있을 수 있다. 최단 경로 알고리즘을 요구한다.
그리고, 쿼리에서는 from 노드와 to노드가 매번 달라지므로 Dijkstra 같은 알고리즘을 써서는 매번 from노드로부터 Dijkstra를 돌릴 수는 없다.
그렇기 때문에 N의 범위도 1 <= N <= 500 이므로 Floyd-Warshall을 사용하여 돌린 다음 각 쿼리마다 최단 경로 값이 주어진 값보다 작은지 큰지를 판단할 수 있다.
#include <iostream>
#define INF 1e9
#define MAX 501
using namespace std;
int graph[MAX][MAX];
int n, m;
void floydWarshall(){
for(int k = 1; k <= n; k++){
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
if(graph[i][k] == INF || graph[k][j] == INF) continue;
if(graph[i][k] + graph[k][j] < graph[i][j]){
graph[i][j] = graph[i][k] + graph[k][j];
}
}
}
}
}
int main(){
cin >> n >> m;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
graph[i][j] = INF;
}
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
cin >> graph[i][j];
}
}
floydWarshall();
for(int i = 0; i < m; i++){
int v, u, w; cin >> v >> u >> w;
if(graph[v][u] <= w){
cout << "Enjoy other party";
}
else{
cout << "Stay here";
}
cout << '\n';
}
return 0;
}
728x90
'PS > BOJ' 카테고리의 다른 글
백준 11266번: 단절점 (C++, Resolve) (0) | 2022.07.07 |
---|---|
백준 17204번: 죽음의 게임 (Python) (0) | 2022.07.07 |
백준 17485번: 수강 과목 (C++) (0) | 2022.07.04 |
백준 3733번: Shares (Python) (0) | 2022.07.04 |
백준 17128번: 소가 정보섬에 올라온 이유 (C++) (0) | 2022.07.03 |