Submission #660716

#TimeUsernameProblemLanguageResultExecution timeMemory
660716Ahmed57Ronald (COCI17_ronald)C++14
120 / 120
162 ms21976 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 = 0;
    for(int i = 1;i<=n;i++){
        if(!vis[i]){
            cnt++;
            cn = 0;sum = 0;
            dfs(i);
            if(cn*(cn-1)/2==sum){
                ss = 1;
            }
        }
    }
    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...