제출 #309732

#제출 시각아이디문제언어결과실행 시간메모리
309732nicolaalexandra경찰관과 강도 (BOI14_coprobber)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #include "coprobber.h" #define DIM 510 using namespace std; int C,R; struct stare{ int c,r,t; }; deque <stare> d; int dp[DIM][DIM][2],fth[DIM][DIM]; int start (int n, bool a[DIM][DIM]){ /// stari de pierdere / de castig /// C,R,0/1 - unde se afla politistu si hotu si cine a facut ultima miscare /// C,C,0/1 - stare de castig for (int i=0;i<n;i++){ dp[i][i][0] = dp[i][i][1] = 1; d.push_back({i,i,0}); d.push_back({i,i,1}); } while (!d.empty()){ int c = d.front().c, r = d.front().r, t = d.front().t; d.pop_front(); if (!t){ /// trb sa mute hotu for (int i=0;i<n;i++){ if (i == r || !a[r][i] || dp[c][i][1]) continue; /// daca toti vecinii lui i au stare de castig atunci si asta e stare de castig int ok = 1; for (int j=0;j<n;j++) if (a[i][j] && !dp[c][j][0]){ ok = 0; break; } if (ok){ dp[c][i][1] = 1; d.push_back({c,i,1}); }} } else { /// politistul se muta sau sta pe loc for (int i=0;i<n;i++){ if ((!a[c][i] && i != c) || dp[i][r][0]) continue; int ok = 0; for (int j=0;j<n;j++) if (a[i][j] && dp[j][r][1]) ok = 1; if (ok){ dp[i][r][0] = 1; fth[i][r] = c; /// unde ma duc din starea asta d.push_back({i,r,0}); }}}} for (int i=0;i<n;i++){ int ok = 1; for (int j=0;j<n;j++) if (!dp[i][j][0]){ ok = 0; break; } if (ok) return i; } return -1; } int nextMove (int R){ C = fth[C][R]; return C; }

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

/tmp/cc5OEqUt.o: In function `main':
grader.cpp:(.text.startup+0x138): undefined reference to `start(int, bool (*) [500])'
collect2: error: ld returned 1 exit status