#include<bits/stdc++.h>
#include<algorithm>
#include<random>
#include<chrono>
#include<cstdlib>
#include<ctime>
#include<numeric>
#include<vector>
#include<stack>
#include<map>
#include<set>
#include<queue>
#include<iomanip>
#define int long long
#define ll long long
#define L LLONG_MAX
#define fi first
#define se second
#define pii pair<int,int>
#define sz(a) ((int)a.size())
#define FOR(i,j,k) for(int i=j;i<=k;i++)
#define REP(i,k,j) for(int i=k;i>=j;i--)
#define FORD(i,a) for(auto i:a)
#define rngdcl mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count())
#define random(l,r) ((l)+(rng()%(r-l+1)))
using namespace std;
const int nmax=1001;
int n,m;
int a[nmax][nmax];
int b[nmax][nmax];
void input()
{
cin >> n >> m;
FOR(i,0,m-1)
{
int x,y; cin >> x >> y;
--x; --y;
a[x][y]=a[y][x]=1;
b[x][y]=b[y][x]=1;
}
}
bool check(int a[nmax][nmax])
{
FOR(x,1,n-1) if(a[x][0]==0) FOR(i,0,n-1) a[i][x]=a[x][i]=1-a[i][x];
FOR(i,0,n-1) FOR(j,i+1,n-1) if(a[i][j]==0) return false;
return true;
}
void solve()
{
if(check(a)) cout << "DA" << '\n';
else
{
FOR(i,0,n-1) b[i][0]=b[0][i]=1-b[i][0];
if(check(b)) cout << "DA" << '\n';
else cout << "NE" << '\n';
}
}
signed main()
{
//freopen(".inp", "r", stdin);
//freopen(".out", "w", stdout);
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
input();
solve();
}
# | 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... |