Submission #1053388

#TimeUsernameProblemLanguageResultExecution timeMemory
1053388SzymonKrzywdaCop and Robber (BOI14_coprobber)C++17
16 / 100
23 ms2720 KiB
#include <bits/stdc++.h> using namespace std; vector<int> graf[500]; int odl[500][500]; int akt_pos = 0; ///cykle stack<int> stosik; int akt_v; int akt_wynik; int odwiedzone_2[500]; void recursion(int p, int w, int glebokosc){ odwiedzone_2[w] = true; for (int s : graf[w]){ if (p!=s){ if (odwiedzone_2[w]==false) recursion(w,s,glebokosc+1); else if (akt_v==w) akt_wynik = max(akt_wynik,glebokosc); } } odwiedzone_2[w] = false; } int start(int n,bool A[][500] ){ for (int i=0; i<n; i++){ for (int j=0; j<n; j++){ if (A[i][j]) graf[i].push_back(j); } } for (int i=0; i<n; i++){ akt_wynik = 0; for (int j=0; j<n; j++) odwiedzone_2[j] = false; recursion(-1,i,1); if (akt_wynik>4) return -1; } for (int i=0; i<n; i++){ vector<bool> odwiedzone(n,false); queue<pair<int,int>> kolejka; odwiedzone[i] = true; kolejka.push({0,i}); while (!kolejka.empty()){ int v = kolejka.front().second; int val = kolejka.front().first; kolejka.pop(); odl[i][v] = val; for (int s : graf[v]){ if (!odwiedzone[s]){ odwiedzone[s] = true; kolejka.push({val+1,s}); } } } } return 0; } int nextMove(int R){ int akt_k,akt_m=1e8; for (int s : graf[akt_pos]){ int maxi=0; for (int s_2 : graf[R]){ maxi = max(maxi,odl[s][s_2]); } if (maxi < akt_m){ akt_k = s; akt_m = maxi; } } akt_pos = akt_k; return akt_k; }

Compilation message (stderr)

coprobber.cpp: In function 'int nextMove(int)':
coprobber.cpp:100:12: warning: 'akt_k' may be used uninitialized in this function [-Wmaybe-uninitialized]
  100 |     return akt_k;
      |            ^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...