Submission #365493

#TimeUsernameProblemLanguageResultExecution timeMemory
365493denkendoemeerToy Train (IOI17_train)C++14
100 / 100
563 ms1900 KiB
#include<bits/stdc++.h> #include "train.h" using namespace std; bool viz[5005],c[5005]; int nr[5005],f[5005]; vector<int>g[5005],g2[5005]; vector<int> who_wins(vector<int>a,vector<int>r,vector<int>u,vector<int>v) { int i; for(i=0;i<u.size();i++){ g[u[i]].push_back(v[i]); g2[v[i]].push_back(u[i]); } int n=a.size(); for(i=0;i<n;i++) f[i]=1; while(1){ for(i=0;i<n;i++) if (f[i]==1){ viz[i]=0; c[i]=0; if (a[i]==1) nr[i]=1; else nr[i]=g[i].size(); } queue<int>q; for(i=0;i<n;i++) if (r[i] && f[i]==1) q.push(i); while(!q.empty()){ int nod=q.front(); q.pop(); if (c[nod]==1) continue; c[nod]=1; for(i=0;i<g2[nod].size();i++){ int aux=g2[nod][i]; --nr[aux]; if (nr[aux]==0 && viz[aux]==0 && f[aux]==1){ q.push(aux); viz[aux]=1; } } } bool ok=0; for(i=0;i<n;i++) if (f[i]==1 && viz[i]==0){ f[i]=0; ok=1; } if (ok==0) break; } vector<int>ans; for(i=0;i<n;i++) ans.push_back(f[i]); return ans; }

Compilation message (stderr)

train.cpp: In function 'std::vector<int> who_wins(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:10:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |     for(i=0;i<u.size();i++){
      |             ~^~~~~~~~~
train.cpp:37:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |             for(i=0;i<g2[nod].size();i++){
      |                     ~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...