개발자 톡

연습문제 톡 지우는 소수를 좋아해

지우는 소수를 좋아해 - 시간초과...

등록일
2022-10-18 19:49:43
조회수
599
작성자
bungae104

3번 4번 히든 케이스에서 자꾸 시간초과가 발생하는데 뭐가 문제인지 모르겠어요 ㅠㅠ

/*
지우는 소수를 좋아해
10 13
1 2 5
1 3 1
1 4 2
2 5 5
3 5 4
3 6 1
4 6 1
4 7 3
5 8 5
6 9 4
7 9 2
8 10 5
9 10 3
출력예제1
5

다익스트라 우선순위 큐로 구현
하지만, 거리에 상관없이 레벨만 낮으면 오케이

1번에서 시작해서 n번으로 가는 길 찾고,
최소 레벨을 구한다.
그 최소레벨보다 높은 소수 구한다.

지우는 항상 1번 체육관에서부터 출발하고 
마지막 N번 체육관을 지나가야 마지막 포켓몬 리그로 갈 수 있다. (마지막 체육관까지 가는 길은 반드시 존재한다.)
*/
#include 
#include 
#include 
#include 
#define INF 1e9
#define MAX 1000000000
using namespace std;

//globals
int N,M;
vector> graph[10001];
int d[10001];

//methods
void Input(){
    cin>>N>>M;
    
    for(int i=0; i>a>>b>>c;
        graph[a].push_back({b,c});
        graph[b].push_back({a,c});
    }
}

int dijkstra(int start){
    
    fill(d,d+N+1,INF);
    priority_queue> pq;
    pq.push({0,start});
    d[1]=0;
    while(!pq.empty()){
        int current_node=pq.top().second;
        int current_level=pq.top().first;
        pq.pop();
        for(int i=0; i



#지우는_소수를_좋아해
#c++

이 카테고리의 톡 더보기