Submission #418999

#TimeUsernameProblemLanguageResultExecution timeMemory
418999VladMCop and Robber (BOI14_coprobber)C++14
0 / 100
0 ms328 KiB
#include "coprobber.h" #include <bits/stdc++.h> using namespace std; vector<int> vec[MAX_N]; int dist[MAX_N][MAX_N], pos, vis[MAX_N]; queue<int> q; int start(int N, bool A[MAX_N][MAX_N]) { for(int i=0; i<N; i++) { for(int j=0; j<N; j++) { if(A[i][j]) vec[i].push_back(j); } } for(int i=0; i<N; i++) { q.push(i); for(int j=0; j<N; j++) dist[i][j]=MAX_N*MAX_N; dist[i][i]=0; while(!q.empty()) { int v=q.front(); q.pop(); int ns=vec[v].size(); for(int j=0; j<ns; j++) { int to=vec[v][j]; if(dist[i][v]+1<dist[i][to]) { dist[i][to]=dist[i][v]+1; q.push(to); } } } } pos=0; vis[pos]=1; return 0; } int nextMove(int R) { int ns=vec[pos].size(); int newpos=-1; for(int i=1; i<ns; i++) { int to=vec[pos][i]; if(newpos==-1 && vis[to]==0) { newpos=to; continue; } if(dist[to][R]<dist[newpos][R] && vis[to]==0) newpos=to; } vis[newpos]=1; return newpos; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...