제출 #450427

#제출 시각아이디문제언어결과실행 시간메모리
450427rainboyRonald (COCI17_ronald)C11
120 / 120
60 ms3144 KiB
#include <stdio.h> #include <string.h> #define N 1000 int ds[N * 2]; int find(int i) { return ds[i] < 0 ? i : (ds[i] = find(ds[i])); } void join(int i, int j) { i = find(i); j = find(j); if (i == j) return; if (ds[i] > ds[j]) ds[i] = j; else { if (ds[i] == ds[j]) ds[i]--; ds[j] = i; } } int main() { static char adj[N][N]; int n, m, i, j; scanf("%d%d", &n, &m); memset(ds, -1, n * 2 * sizeof *ds); while (m--) { scanf("%d%d", &i, &j), i--, j--; adj[i][j] = adj[j][i] = 1; } for (i = 0; i < n; i++) for (j = i + 1; j < n; j++) if (adj[i][j]) join(i << 1 | 0, j << 1 | 0), join(i << 1 | 1, j << 1 | 1); else join(i << 1 | 0, j << 1 | 1), join(i << 1 | 1, j << 1 | 0); printf(find(0 << 1 | 0) == find(0 << 1 | 1) ? "NE\n" : "DA\n"); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

ronald.c: In function 'main':
ronald.c:30:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   30 |  scanf("%d%d", &n, &m);
      |  ^~~~~~~~~~~~~~~~~~~~~
ronald.c:33:3: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   33 |   scanf("%d%d", &i, &j), i--, j--;
      |   ^~~~~~~~~~~~~~~~~~~~~
#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...