Submission #227612

# Submission time Handle Problem Language Result Execution time Memory
227612 2020-04-28T06:22:20 Z jiahng Ronald (COCI17_ronald) C++14
120 / 120
51 ms 6264 KB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<ll,ll> pi;
typedef vector <ll> vi;
typedef vector <pi> vpi;
#define f first
#define s second
#define FOR(i,s,e) for(ll i=s;i<=ll(e);++i)
#define DEC(i,s,e) for(ll i=s;i>=ll(e);--i)
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define lbd(x, y) lower_bound(all(x), y)
#define ubd(x, y) upper_bound(all(x), y)
#define aFOR(i,x) for (auto i: x)
#define mem(x,i) memset(x,i,sizeof x)
#define fast ios_base::sync_with_stdio(false),cin.tie(0)
#define maxn 1001

int dist[maxn][maxn];

bool yes = 1;

bool dp[maxn],vis[maxn];
int N,M;

void dfs(int x,bool a){
	vis[x] = 1;

	FOR(i,1,N){
		if (i == x) continue;
		
		if (!vis[i]){
			if (dist[x][i] == 1){
				dp[i] = !a;
				dfs(i,!a);
			}else{
				dp[i] = a;
				dfs(i,a);
			}
		}else{
			if (dist[x][i] == 1){
				//cout<<i<<' '<<x<<'\n';
				if (dp[i] == dp[x]) yes = 0;
			}else{
				
				if (dp[i] != dp[x]) yes = 0;
			}
		}
	}
}
int main(){
	fast;
	
	cin>>N>>M;
	
	FOR(i,1,N){
		FOR(j,1,N) dist[i][j] = 1;
	}
	FOR(i,0,M-1){
		int a,b;
		cin>>a>>b;
		dist[a][b] = dist[b][a] = 0;
	}
	
	FOR(i,1,N){
		if (!vis[i]) dfs(i,0);
	}
	
	//FOR(i,1,N) cout<<dp[i]<<' ';
	//return 0;
	
	if (yes) cout<<"DA";
	else cout<<"NE";
}

# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 5 ms 388 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 5 ms 512 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 5 ms 512 KB Output is correct
4 Correct 5 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 640 KB Output is correct
2 Correct 5 ms 640 KB Output is correct
3 Correct 5 ms 768 KB Output is correct
4 Correct 5 ms 768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 1152 KB Output is correct
2 Correct 17 ms 2816 KB Output is correct
3 Correct 9 ms 1792 KB Output is correct
4 Correct 8 ms 1664 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 1152 KB Output is correct
2 Correct 14 ms 2688 KB Output is correct
3 Correct 42 ms 5624 KB Output is correct
4 Correct 51 ms 6264 KB Output is correct