제출 #1226706

#제출 시각아이디문제언어결과실행 시간메모리
1226706repsakSplit the Attractions (IOI19_split)C++20
0 / 100
0 ms328 KiB
#include "split.h" #include <bits/stdc++.h> using namespace std; vector<vector<int>> adj; vector<int> visited; void DFS(int u, int team, int& counter, int max){ if(visited[u] || counter >= max) return; visited[u] = team; counter++; for(int v : adj[u]){ DFS(u, team, counter, max); } } vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) { adj.resize(n); visited.resize(n); for(int i = 0; i < p.size(); i++){ adj[p[i]].push_back(q[i]); adj[q[i]].push_back(p[i]); } int findAmount = min(b, c); int findTeam = b < c ? 2 : 3; int counter = 0; DFS(0, findTeam, counter, findAmount); bool hasFoundA = false; int otherTeam = b < c ? 3 : 2; for(int i = 0; i < n; i++){ if(visited[i] == 0 && !hasFoundA){ hasFoundA = true; visited[i] = 1; } if(visited[i] == 0){ visited[i] = otherTeam; } } return visited; } // #include "grader.cpp"
#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...