Submission #835607

#TimeUsernameProblemLanguageResultExecution timeMemory
835607Mohmad_ZaidKeys (IOI21_keys)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define pb push_back using namespace std; vector<int> find_reachable(vector<int>& r, vector<int>& u, vector<int>& v, vector<int>& c) { int n=r.size(); int m=u.size(); vector<int> final(n, 1); vector<vector<vector<int>>>g(n,vector<vector<int>>(n,vector<int>())); vector<int>last_visit(n); vector<int>sizes(n,0); vector<bool>vis(n); set<int>keys; for(int i=0;i<m;i++){ g[u[i]][c[i]].pb(v[i]); g[v[i]][c[i]].pb(u[i]); } int mn=INT_MAX; for(int i=0;i<n;i++){ last_visit.assign(n,0); keys.clear();vis.assign(n,0); vis[i]=1; queue<int>q; q.push(i); while(!q.empty()){ int par=q.front(); keys.insert(r[par]); q.pop(); for(auto key:keys){ for(int to:g[par][key]){ if(keys.size()==last_visit[to])continue; else{ last_visit[to]=keys.size(); vis[to]=1; q.push(to); } } } // if(!ok)break; } for(int j=0;j<n;j++)sizes[i]+=vis[j]; mn=min(mn,sizes[i]); } for(int i=0;i<n;i++){ // cout<<"room: "<<i<<' '<<sizes[i]<<endl; if(sizes[i]==mn)final[i]=1; else final[i]=0; } return final; } // int main(){ // vector<int>test; // vector<int>r={0, 1, 1, 2, 2, 1, 2},u={0, 0, 1, 1, 2, 3, 3, 4, 4, 5}, // v={1, 2, 2, 3, 3, 4, 5, 5, 6, 6},c={0, 0, 1, 0, 0, 1, 2, 0, 2, 1}; // test=find_reachable(r,u,v,c); // for(int i=0;i<test.size();i++)cout<<test[i]<<' ';cout<<endl; // return 0; // }

Compilation message (stderr)

keys.cpp: In function 'std::vector<int> find_reachable(std::vector<int>&, std::vector<int>&, std::vector<int>&, std::vector<int>&)':
keys.cpp:30:35: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'} [-Wsign-compare]
   30 |                     if(keys.size()==last_visit[to])continue;
/usr/bin/ld: /tmp/ccIMapIu.o: in function `main':
grader.cpp:(.text.startup+0x30a): undefined reference to `find_reachable(std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status