제출 #991463

#제출 시각아이디문제언어결과실행 시간메모리
991463MarwenElarbiSplit the Attractions (IOI19_split)C++17
0 / 100
1 ms3160 KiB
#include<bits/stdc++.h> using namespace std; #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #define fi first #define se second #define ll long long #define pb push_back const int nax=100005; vector<int> adj[nax]; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int fst; int parent; vector<int> res(nax); int aa,bb; void dfs(int x,int p,int cur){ if(cur==aa){ cout <<x<<endl; fst=x; parent=p; return; } res[x]=1; for(auto u:adj[x]){ if(u==p) continue; dfs(u,x,cur+1); } } void dfs1(int x,int p,int cur){ if(cur==bb) return; //cout <<x<<endl; res[x]=2; for(auto u:adj[x]){ if(u==p) continue; dfs1(u,x,cur+1); } } vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q){ bb=b; aa=a; res.resize(n); for (int i = 0; i < p.size(); ++i) { adj[p[i]].pb(q[i]); adj[q[i]].pb(p[i]); } fst=-1; for (int i = 0; i < n; ++i) { if(adj[i].size()==1) fst=i; } //cout <<fst<<endl; dfs(fst,-1,0); //cout <<fst<<endl; dfs1(fst,parent,0); for (int i = 0; i < n; ++i) { if(res[i]==0) res[i]=3; //cout <<res[i]<<" "; }//cout <<endl; return res; }

컴파일 시 표준 에러 (stderr) 메시지

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:42:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |     for (int i = 0; i < p.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...