#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
	ll n,m,i,j,ans=0,c,k=0;
	cin>>n>>m;
	vector<vector<ll>> e(n+1,vector<ll>(n+1,0));
	vector<ll> p(n+1,0),q(n+1,0),a(m),b(m);
	for(i=0 ; i<m ; i++){
		cin>>a[i]>>b[i];
		e[a[i]][b[i]]=1;
		e[b[i]][a[i]]=1;
	}
	bool check=true;
	for(i=1 ; i<=n ; i++){
		for(j=1 ; j<=n ; j++){
			if(i==j) continue;
			if(e[i][j]==1){
				p[j]=p[i];
			}
				else p[j]=1-p[i];
		}
	}
	for(i=1 ; i<=n ; i++){
		for(j=1 ; j<=n ; j++){
			if(i==j) continue;
			if(e[i][j]==1 and p[i]+p[j]==1) check=false;
			if(e[i][j]==0 and p[i]+p[j]!=1) check=false;
		}
	}
	if(check) cout<<"DA";
		else{
			check=true;
			q[1]=1;
			for(i=1 ; i<=n ; i++){
				for(j=1 ; j<=n ; j++){
					if(i==j) continue;
					if(e[i][j]==1){
						q[j]=q[i];
					}
						else{
							q[j]=1-q[i];
						}
				}
			}
			for(i=1 ; i<=n ; i++){
				for(j=1 ; j<=n ; j++){
					if(i==j) continue;
					if(e[i][j]==1 and q[i]+q[j]==1) check=false;
					if(e[i][j]==0 and q[i]+q[j]!=1) check=false;
				}
			}
			if(check) cout<<"DA";
				else cout<<"NE";
		}
	return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |