Submission #660719

#TimeUsernameProblemLanguageResultExecution timeMemory
660719Ahmed57Ronald (COCI17_ronald)C++14
120 / 120
163 ms20040 KiB
#include <bits/stdc++.h> using namespace std; vector<int> adj[100001]; int vis[100001]; long long sum = 0 , cn = 0; void dfs(int i){ cn++; vis[i] = 1; sum+=adj[i].size(); for(auto j:adj[i]){ if(vis[j])continue; dfs(j); } } int main(){ int n,m;cin>>n>>m; map<pair<int,int>,int> mp; int ans = 0; for(int i=0;i<m;i++){ int x,y; cin>>x>>y; if(x==y)continue; if(x>y)swap(x,y); if(mp[{x,y}]==1)continue; mp[{x,y}] = 1; ans++; adj[x].push_back(y); } if(ans==n*(n-1)/2){ cout<<"DA\n"; return 0; } int cnt = 0; bool ss = 1; for(int i = 1;i<=n;i++){ if(!vis[i]){ cnt++; cn = 0;sum = 0; dfs(i); if(cn*(cn-1)/2!=sum){ ss = 0; } } } if(ss&&cnt==2){ cout<<"DA\n"; }else cout<<"NE\n"; }
#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...