제출 #1090692

#제출 시각아이디문제언어결과실행 시간메모리
1090692AlgorithmWarrior악어의 지하 도시 (IOI11_crocodile)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #define MAX 100005 using namespace std; int N,M,K; struct edge { int nod; long long len; }; class cmp { public: bool operator()(edge a,edge b) { return a.len>b.len; } }; vector<edge>G[MAX]; priority_queue<edge,vector<edge>,cmp>pq; long long dist1[MAX],dist2[MAX]; void read() { cin>>N>>M>>K; while(M--) { int nod1,nod2,len; cin>>nod1>>nod2>>len; ++nod1; ++nod2; G[nod1].push_back({nod2,len}); G[nod2].push_back({nod1,len}); } int i; for(i=1;i<=N;++i) dist1[i]=dist2[i]=1e18; while(K--) { int nod; cin>>nod; ++nod; dist1[nod]=dist2[nod]=0; pq.push({nod,0}); } } void djikstra() { while(!pq.empty()) { int nod=pq.top().nod; long long len=pq.top().len; pq.pop(); if(len>dist2[nod]) continue; for(auto per : G[nod]) { int nod2=per.nod; int len2=per.len; if(dist2[nod2]>len+len2) { if(dist1[nod2]>len+len2) { dist2[nod2]=dist1[nod2]; dist1[nod2]=len+len2; } else dist2[nod2]=len+len2; pq.push({nod2,dist2[nod2]}); } } } } void write() { cout<<dist2[1]; } int main() { read(); djikstra(); write(); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

/usr/bin/ld: /tmp/ccMPx1tA.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccb45njx.o:crocodile.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccMPx1tA.o: in function `main':
grader.cpp:(.text.startup+0x36): undefined reference to `travel_plan(int, int, int (*) [2], int*, int, int*)'
collect2: error: ld returned 1 exit status