제출 #1292658

#제출 시각아이디문제언어결과실행 시간메모리
1292658ortsacSplit the Attractions (IOI19_split)C++20
7 / 100
33 ms15760 KiB
#include "split.h" #include <bits/stdc++.h> using namespace std; #define pii pair<int, int> #define fr first #define se second vector<bool> seen; vector<int> ans; vector<vector<int>> adj; const int INF = 0x3f3f3f3f; int dfs(int node, int qtd, int qual) { seen[node] = 1; ans[node] = qual; qtd--; if (qtd == 0) { for (auto u : adj[node]) if (!seen[u]) return u; return -1; } for (auto u : adj[node]) { if (seen[u]) continue; return dfs(u, qtd, qual); } } vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) { vector<pii> ord = {{a, 1}, {b, 2}, {c, 3}}; sort(ord.begin(), ord.end()); seen.clear(); adj.clear(); seen.resize(n); ans.resize(n); adj.resize(n); for (int i = 0; i < ((int) p.size()); i++) { adj[p[i]].push_back(q[i]); adj[q[i]].push_back(p[i]); } pii comeco = {INF, INF}; for (int i = 0; i < n; i++) { comeco = min(comeco, {((int)adj[i].size()), i}); } int nxt = dfs(comeco.se, ord[0].fr, ord[0].se); nxt = dfs(nxt, ord[1].fr, ord[1].se); dfs(nxt, ord[2].fr, ord[2].se); return ans; }

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

split.cpp: In function 'int dfs(int, int, int)':
split.cpp:27:1: warning: control reaches end of non-void function [-Wreturn-type]
   27 | }
      | ^
#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...