제출 #500927

#제출 시각아이디문제언어결과실행 시간메모리
500927KhizriSplit the Attractions (IOI19_split)C++17
0 / 100
57 ms12372 KiB
#include "split.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define F first #define S second #define INF 1e18 #define all(v) (v).begin(),(v).end() #define rall(v) (v).rbegin(),(v).rend() #define pii pair<int,int> #define pll pair<ll,ll> #define OK cout<<"Ok"<<endl; const int mxn=2e5+5; int d[mxn],color[mxn],x,q; vector<int>vt[mxn]; void dfs(int u,int p,int k){ if(k==0){ x=u; return; } color[u]=q; for(int v:vt[u]){ if(v!=p&&!color[v]){ dfs(v,u,k-1); } } } vector<int> task1(int n,int a,int b,int c){ for(int i=1;i<=n;i++){ if(d[i]==1){ q=1; dfs(i,-1,a); break; } } q=2; dfs(x,-1,b); vector<int>ans; for(int i=1;i<=n;i++){ if(color[i]==1){ ans.pb(1); } else if(color[i]==2){ ans.pb(2); } else{ ans.pb(3); } } return ans; } vector<int> find_split(int n,int a,int b,int c,vector<int>p,vector<int>q) { int m=p.size(); for(int i=0;i<p.size();i++){ d[p[i]+1]++,d[q[i]+1]++; vt[p[i]+1].pb(q[i]+1); vt[q[i]+1].pb(p[i]+1); } if(m==n-1){ return task1(n,a,b,c); } }

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

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:55:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |  for(int i=0;i<p.size();i++){
      |              ~^~~~~~~~~
split.cpp:65:1: warning: control reaches end of non-void function [-Wreturn-type]
   65 | }
      | ^
#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...