Submission #1143157

#TimeUsernameProblemLanguageResultExecution timeMemory
1143157iancu007새로운 문제 (POI13_luk)C++20
0 / 100
151 ms17432 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; void dfs(int node, int color, vector<vector<int>>& graph, vector<bool>& visited, vector<int>& counts) { visited[node] = true; counts[color]++; for (int neighbor : graph[node]) { if (!visited[neighbor]) { dfs(neighbor, 1 - color, graph, visited, counts); } } } int main() { int n; cin >> n; vector<vector<int>> graph(n + 1); // Citirea drumurilor for (int i = 0; i < n - 1; i++) { int a, b; cin >> a >> b; graph[a].push_back(b); graph[b].push_back(a); } vector<bool> visited(n + 1, false); vector<int> counts(2, 0); // counts[0] -> noduri albe, counts[1] -> noduri negre // Pornim DFS de la nodul 1 (capitala) dfs(1, 0, graph, visited, counts); // Răspunsul este minimul dintre nodurile de culoare 0 și 1 cout << min(counts[0], counts[1]) << endl; return 0; }
#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...
#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...