Submission #1068336

#TimeUsernameProblemLanguageResultExecution timeMemory
1068336edogawa_somethingToy Train (IOI17_train)C++17
0 / 100
2044 ms1944 KiB
#include "train.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> pii; typedef vector<ll> vii; #define F first #define S second #define all(v) v.begin(),v.end() #define pb push_back vii adj[5001],radj[5001]; vector<int>a,r; bool vis[5001],viss[5001],visss[5001]; void dfs(ll x) { if(vis[x]) return; vis[x]=1; for(auto it:adj[x]) { if(!r[it]) dfs(it); } } void rdfs(ll x) { if(viss[x]) return; viss[x]=1; for(auto it:radj[x]) { if(!r[it]) rdfs(it); } } void realrdfs(ll x) { if(visss[x]) return; visss[x]=1; for(auto it:radj[x]) realrdfs(it); } bool chk[5001]; vector<int>ans; vector<int> who_wins(std::vector<int> A, std::vector<int> R, std::vector<int> u, std::vector<int> v) { a=A,r=R; ans.resize(a.size()); for(int i=0;i<u.size();i++) adj[u[i]].pb(v[i]),radj[v[i]].pb(u[i]); for(int i=0;i<a.size();i++) { if(r[i]==0) { for(int j=0;j<a.size();j++) vis[j]=viss[j]=visss[j]=0; dfs(i); rdfs(i); realrdfs(i); for(auto it:adj[i]) { if(it==i) chk[i]=1; } for(int j=0;j<a.size();j++) { if(j==i) continue; if(vis[j]&&viss[j]) chk[i]=1; } if(chk[i]) { for(int j=0;j<a.size();j++) { ans[j]|=visss[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:44:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |   for(int i=0;i<u.size();i++)
      |               ~^~~~~~~~~
train.cpp:46:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |   for(int i=0;i<a.size();i++) {
      |               ~^~~~~~~~~
train.cpp:48:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |       for(int j=0;j<a.size();j++)
      |                   ~^~~~~~~~~
train.cpp:57:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |       for(int j=0;j<a.size();j++) {
      |                   ~^~~~~~~~~
train.cpp:64:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   64 |         for(int j=0;j<a.size();j++) {
      |                     ~^~~~~~~~~
#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...