제출 #413244

#제출 시각아이디문제언어결과실행 시간메모리
413244losmi247기지국 (IOI20_stations)C++14
0 / 100
1278 ms528 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1005; int deg[N]; vector <int> g[N]; vector <int> label(int n,int k,vector <int> u,vector <int> v){ for(int i = 0; i < n; i++){ deg[i] = 0; g[i].clear(); } for(int i = 0; i < n-1; i++){ deg[u[i]]++; deg[v[i]]++; g[u[i]].push_back(v[i]); g[v[i]].push_back(u[i]); } bool prvi = 1; for(int i = 0; i < n; i++) if(deg[i] > 2) prvi = 0; if(prvi){ int cnt = 0; vector <int> l(n,0); queue <pair<int,int>> q; for(int i = 0; i < n; i++){ if(deg[i] == 1){ q.push({i,-1}); break; } } while(!q.empty()){ int u = q.front().first,par = q.front().second; l[u] = cnt++; q.pop(); for(auto v : g[u]){ if(v == par) continue; q.push({v,u}); } } return l; } bool drugi = 1; for(int i = 0; i < n-1; i++){ if(u[i] != i+1 || v[i] != i/2) drugi = 0; } if(drugi){ vector <int> l(n,0); for(int i = 0; i < n; i++) l[i] = i; return l; } } int find_next_station(int s,int t,vector <int> c){ if((s == 0 && c.size() == 1 && c[0] == 1) || (c.size() == 1 && c[0] == s-2) || (c.size() == 2 && c[0] == s-1 && c[1] == s+1)){ if(s < t){ return s+1; } else{ return s-1; } } bool drugi = 1; for(auto f : c){ if(f != (s&1 ? s/2 : (s-1)/2) && f != 2*s+1 && f != 2*s+2) drugi = 0; } if(drugi){ int nd1 = s,nd2 = t; vector <int> putt = {t}; vector <int> puts = {s}; while(nd1 != nd2){ if(nd1 > nd2){ nd1 = (nd1&1 ? nd1/2 : (nd1-1)/2); puts.push_back(nd1); } else{ nd2 = (nd2&1 ? nd2/2 : (nd2-1)/2); putt.push_back(nd2); } } if(nd1 == s){ return putt[putt.size()-2]; } if(nd1 == t){ return puts[1]; } return puts[1]; } }

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

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:59:1: warning: control reaches end of non-void function [-Wreturn-type]
   59 | }
      | ^
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:91:1: warning: control reaches end of non-void function [-Wreturn-type]
   91 | }
      | ^
#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...