Submission #544610

#TimeUsernameProblemLanguageResultExecution timeMemory
544610rainboyCop and Robber (BOI14_coprobber)C++98
Compilation error
0 ms0 KiB
#include <iostream> using namespace std; #define MAX_N 500 // modify the following functions // you can define global variables and functions int qu[MAX_N * MAX_N * 2], dd[MAX_N][MAX_N], nxt[MAX_N][MAX_N]; int i_; int start(int N, bool A[MAX_N][MAX_N]) { int i, j, k; for (i = 0; i < N; i++) for (j = 0; j < N; j++) nxt[i][j] = -1; int head = 0, cnt = 0; for (j = 0; j < N; j++) { int d = 0; for (k = 0; k < N; k++) if (A[j][k]) d++; for (i = 0; i < N; i++) if (i == j) qu[head + cnt++] = (i * N + j) * 2 + 1; else dd[i][j] = d; } while (cnt) { int ijt = qu[cnt--, head++], i = ijt / 2 / N, j = ijt / 2 % N, t = ijt % 2; if (t == 1) { for (k = 0; k < N; k++) if ((k == i || A[k][i]) && nxt[k][j] == -1) nxt[k][j] = i, qu[head + cnt++] = (k * N + j) * 2 + 0; } else { for (k = 0; k < N; k++) if (A[k][j] && --dd[i][k] == 0) qu[head + cnt++] = (i * N + k) * 2 + 1; } } return head == N * N * 2 ? 0 : -1; } int nextMove(int R) { return (i_ = nxt[i_][R]); } // don't modify the main function int main() { int N; cin >> N; bool A[MAX_N][MAX_N]; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { cin >> A[i][j]; } } int P = start(N,A); cout << P << endl; if (P == -1) return 0; int R; cin >> R; while (true) { if (P == R) break; P = nextMove(R); cout << P << endl; if (P == R) break; cin >> R; } }

Compilation message (stderr)

/usr/bin/ld: /tmp/cckrjiLF.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccZtp4WF.o:coprobber.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status