# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
126674 | 2019-07-08T09:08:27 Z | abacaba | Ronald (COCI17_ronald) | C++14 | 60 ms | 1372 KB |
#include <bits/stdc++.h> using namespace std; const int N = 1e3 + 15; int n, m, p[N], sz[N]; bool g[N][N], used[N], was[N]; int find(int v) { if(v == p[v]) return v; return p[v] = find(p[v]); } void unio(int a, int b) { a = find(a); b = find(b); if(a != b) { if(sz[a] < sz[b]) swap(a, b); p[b] = a; sz[a] += sz[b]; } } bool dfs(int v, bool rev) { used[v] = true; if(rev) for(int i = 1; i <= n; ++i) { g[i][v] ^= 1; g[v][i] ^= 1; } for(int i = 1; i <= n; ++i) if(i != v && !g[i][v]) if(used[i] || !dfs(i, 1)) return false; return true; } int main() { scanf("%d%d", &n, &m); for(int i = 1; i <= n; ++i) p[i] = i, sz[i] = 1; for(int i = 1; i <= m; ++i) { int u, v; scanf("%d%d", &u, &v); unio(u, v); g[u][v] = g[v][u] = true; } for(int i = 1; i <= n; ++i) { if(!was[find(i)]) { memset(used, 0, sizeof(used)); bool flag1 = dfs(i, 0); memset(used, 0, sizeof(used)); bool flag2 = dfs(i, 1); if(!flag1 && !flag2) { puts("NE"); return 0; } was[find(i)] = true; } } puts("DA"); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 380 KB | Output is correct |
4 | Correct | 2 ms | 376 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Correct | 2 ms | 376 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Correct | 2 ms | 376 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Correct | 2 ms | 376 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Correct | 2 ms | 376 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Correct | 2 ms | 376 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 508 KB | Output is correct |
2 | Correct | 15 ms | 928 KB | Output is correct |
3 | Correct | 7 ms | 632 KB | Output is correct |
4 | Correct | 5 ms | 632 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 504 KB | Output is correct |
2 | Correct | 10 ms | 760 KB | Output is correct |
3 | Correct | 34 ms | 1372 KB | Output is correct |
4 | Correct | 60 ms | 1372 KB | Output is correct |