Submission #329287

#TimeUsernameProblemLanguageResultExecution timeMemory
329287gustasonRonald (COCI17_ronald)C++14
120 / 120
48 ms4460 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const int maxN = 1005; vector<int> adj[maxN]; bool visited[maxN]; int arithmeticProgression(int a, int b, int n) { return n * (a + b) / 2; } int edges, sz; void dfs(int v) { visited[v] = true; sz++; for(int u : adj[v]) { edges++; if (!visited[u]) dfs(u); } } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; for(int i = 0; i < m; i++) { int a, b; cin >> a >> b; adj[a].push_back(b); adj[b].push_back(a); } int conn = 0; bool complete = 1; for(int i = 1; i <= n; i++) { if (!visited[i]) { conn++; edges = 0, sz = 0; dfs(i); edges /= 2; if (arithmeticProgression(sz-1, 1, sz-1) != edges) { complete = false; break; } } } if (conn == 2 && complete) { cout << "DA\n"; } else { cout << "NE\n"; } 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...