Submission #72577902
Source Code Expand
Copy
#include <stdio.h>#include <stdlib.h>int ec[11234], *es[11234];void ae(int f, int t) {es[f] = realloc(es[f], sizeof(*es[f]) * (ec[f] + 1));if (es[f] == NULL) exit(2);es[f][ec[f]++] = t;}char visited[11234];void dfs(int node) {int i;if (visited[node]) return;visited[node] = 1;for (i = 0; i < ec[node]; i++) dfs(es[node][i]);}int main(void) {
#include <stdio.h>
#include <stdlib.h>
int ec[11234], *es[11234];
void ae(int f, int t) {
es[f] = realloc(es[f], sizeof(*es[f]) * (ec[f] + 1));
if (es[f] == NULL) exit(2);
es[f][ec[f]++] = t;
}
char visited[11234];
void dfs(int node) {
int i;
if (visited[node]) return;
visited[node] = 1;
for (i = 0; i < ec[node]; i++) dfs(es[node][i]);
}
int main(void) {
int n, m;
int i;
int cnt = 0;
if (scanf("%d", &n) != 1) return 1;
if (scanf("%d", &m) != 1) return 1;
for (i = 0; i < m; i++) {
int a, b;
if (scanf("%d%d", &a, &b) != 2) return 1;
ae(a, b);
ae(b, a);
}
for (i = 1; i <= n; i++) {
if (!visited[i]) {
cnt++;
dfs(i);
}
}
printf("%d\n", cnt - 1);
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | fiber - 光ファイバー (Fiber) |
| User | mikecat |
| Language | C23 (GCC 14.2.0) |
| Score | 100 |
| Code Size | 743 Byte |
| Status | AC |
| Exec Time | 4 ms |
| Memory | 2612 KiB |
Judge Result
| Set Name | Set01 | Set02 | Set03 | Set04 | Set05 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 20 / 20 | 20 / 20 | 20 / 20 | 20 / 20 | 20 / 20 | ||||||||||
| Status |
|
|
|
|
|
| Set Name | Test Cases |
|---|---|
| Set01 | 01 |
| Set02 | 02 |
| Set03 | 03 |
| Set04 | 04 |
| Set05 | 05 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01 | AC | 0 ms | 1564 KiB |
| 02 | AC | 1 ms | 1676 KiB |
| 03 | AC | 3 ms | 2504 KiB |
| 04 | AC | 4 ms | 2492 KiB |
| 05 | AC | 4 ms | 2612 KiB |