Submission #485954

#TimeUsernameProblemLanguageResultExecution timeMemory
485954Neacsu_MihaiEaster Eggs (info1cup17_eastereggs)C++14
87 / 100
17 ms364 KiB
#include <iostream> #include <fstream> #include <vector> #include "grader.h" #define NMAX 512 using namespace std; //ifstream fin ("test.in"); //ofstream fout ("test.out"); //int ou; //vector < pair< int, int > > bridges; vector < int > G[NMAX + 1]; vector < int > vecDFS; void DFS(int node, int tata){ vecDFS.push_back(node); for(auto it : G[node]){ if(it != tata){ DFS(it, node); } } } /* int query(vector <int> islands){ for(int i = 0; i < islands.size(); i++){ if(islands[i] == ou){ return 1; } } return 0; } */ int findEgg(int N, vector <pair <int, int> > bridges){ vecDFS.clear(); for(int i = 1; i <= N; i++){ G[i].clear(); } for(int i = 0; i < bridges.size(); i++){ int A = bridges[i].first; int B = bridges[i].second; G[A].push_back(B); G[B].push_back(A); } DFS(1, 1); int lo = -1; int hi = N; //adica vecDFS.size(); while(hi - lo > 1){ int mid = lo + (hi - lo) / 2; if( query( vector<int>(vecDFS.begin(), vecDFS.begin() + mid + 1) ) == 1){ hi = mid; } else { lo = mid; } } return vecDFS[hi]; } /* int main() { int N; fin >> N; fin >> ou; for(int i = 1; i <= N - 1; i++){ int a, b; fin >> a >> b; bridges.push_back({a, b}); } fout << findEgg(N, bridges); } */

Compilation message (stderr)

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:48:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |     for(int i = 0; i < bridges.size(); i++){
      |                    ~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...