#include <bits/stdc++.h>
#include "Anthony.h"
using namespace std;
vector <pair <int, int> > adj[20003], adj_dfs[20003];
vector <int> plan;
int vs[20003];
queue <int> q;
vector <int> leaf;
void bfs(){
while(!q.empty()){
int u = q.front();
vs[u] = 1;
q.pop();
for (auto e: adj[u]){
int v = e.first, id = e.second;
if (!vs[v]){
q.push(v);
vs[v] = 1;
adj_dfs[u].push_back({v, id});
adj_dfs[v].push_back({u, id});
}
}
}
}
void dfs(int u, int mark){
vs[u] = 1;
for (auto e: adj_dfs[u]){
int v = e.first, id = e.second;
if (!vs[v]){
plan[id] = mark;
dfs(v, (mark^1));
}
}
}
vector <int> Mark(int N, int M, int A, int B, vector<int> U, vector <int> V){
for (int i = 0; i < M; i++){
adj[U[i]].push_back({V[i], i});
adj[V[i]].push_back({U[i], i});
plan.push_back(-1);
}
q.push(0);
bfs();
for (int i = 0; i < N; i++){
vs[i] = 0;
}
dfs(0, 0);
for (int i = 0; i < M; i++){
if (plan[i] == -1){
plan[i] = 2;
}
}
return plan;
}
#include <bits/stdc++.h>
#include "Catherine.h"
using namespace std;
int first = -1, last = -1, cnt = 0;
void Init(int A, int B){
}
int Move(vector <int> y){
if (first == -1){
if (last == -1){
if (y[0] == 0){
first = 1;
return first;
} else if (y[1] == 0){
first = 0;
return first;
}
if (y[0] > y[1]){
first = 1;
return first;
} else if (y[0] < y[1]){
first = 0;
return first;
} else {
last = 0;
return 0;
}
} else {
if (y[last^1] != 1){
first = last;
return -1;
} else {
last ^= 1;
return last;
}
}
} else {
first ^= 1;
return first;
}
}
Compilation message
/usr/bin/ld: /tmp/ccus83k7.o: in function `main':
grader_catherine.cpp:(.text.startup+0x41c): undefined reference to `Init(int, int)'
/usr/bin/ld: grader_catherine.cpp:(.text.startup+0xcfa): undefined reference to `Move(std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status