제출 #1288484

#제출 시각아이디문제언어결과실행 시간메모리
1288484nemkho악어의 지하 도시 (IOI11_crocodile)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #define ll long long #define fi first #define se second #define pr pair <int, int> using namespace std; const int N = 1e5 + 5; int n, m, r, val[N], tmp[N]; vector <pr> a[N]; int d[N][2]; int e[N][2], W[N]; bool vis[N]; void inp() { cin >> n >> m >> r; for (int i = 0; i < m; i++) { int x, y; ll w; cin >> e[i][0] >> e[i][1]; } for (int i = 0; i < m; i++) cin >> W[i]; for (int i = 0; i < r; i++) { cin >> tmp[i]; } } void dijkstra () { priority_queue <pr, vector <pr>, greater <pr>> q; memset(d, 0x3f, sizeof(d)); memset(vis, false, sizeof(vis)); for (int i = 1; i <= r; i++) { q.push({0, val[i]}); d[val[i]][0] = d[val[i]][1] = 0; } while (!q.empty()) { int u = q.top().se; ll k = q.top().fi; q.pop(); if (k != d[u][1]) continue; for (pr i : a[u]) { int v = i.se; ll sum = k + i.fi; if (sum < d[v][0]) { swap(d[v][0], d[v][1]); d[v][0] = sum; q.push({d[v][1], v}); } else if (sum < d[v][1]) { d[v][1] = sum; q.push({d[v][1], v}); } } } } //void solve() //{ // dijkstra(); // cout << d[1][1]; //} ll travel_plan (int N, int M, int R[][2], int L[], int K, int P[]) { n = N; m = M; r = K; for (int i = 0; i < m; i++) { //cout << L[i] << " "; a[R[i][0]+1].push_back({L[i], R[i][1]+1}); a[R[i][1]+1].push_back({L[i], R[i][0]+1}); } for (int i = 0; i < K; i++) val[i+1] = P[i] + 1; dijkstra(); return d[1][1]; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); freopen("TEST.INP","r",stdin); freopen("TEST.OUT","w",stdout); inp(); cout << travel_plan(n, m, e, W, r, tmp); }

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

crocodile.cpp: In function 'int main()':
crocodile.cpp:88:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   88 |     freopen("TEST.INP","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
crocodile.cpp:89:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   89 |     freopen("TEST.OUT","w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccGENkVa.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccET8Gre.o:crocodile.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status