Submission #74235231
Source Code Expand
Copy
#include <stdio.h>#include <stdlib.h>int *ec, **es;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;}int *mincost;int main(void) {int n, m;int i;int *q, qs = 0, qe = 0;int ans = 0;if (scanf("%d%d", &n, &m) != 2) return 1;ec = calloc(n + 1, sizeof(*ec));es = calloc(n + 1 ,sizeof(*es));mincost = malloc(sizeof(*mincost) * (n + 1));q = malloc(sizeof(*q) * (n + 1));if (ec == NULL || es == NULL || mincost == NULL || q == NULL) return 2;for (i = 1; i <= n; i++) mincost[i] = n + 10;for (i = 0; i < m; i++) {int a, b;if (scanf("%d%d", &a, &b) != 2) return 1;ae(a, b);ae(b, a);}mincost[1] = 0;q[qe++] = 1;while (qs < qe) {int cur = q[qs++];for (i = 0; i < ec[cur]; i++) {int next = es[cur][i];if (mincost[next] > mincost[cur] + 1) {mincost[next] = mincost[cur] + 1;q[qe++] = next;}
#include <stdio.h>
#include <stdlib.h>
int *ec, **es;
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;
}
int *mincost;
int main(void) {
int n, m;
int i;
int *q, qs = 0, qe = 0;
int ans = 0;
if (scanf("%d%d", &n, &m) != 2) return 1;
ec = calloc(n + 1, sizeof(*ec));
es = calloc(n + 1 ,sizeof(*es));
mincost = malloc(sizeof(*mincost) * (n + 1));
q = malloc(sizeof(*q) * (n + 1));
if (ec == NULL || es == NULL || mincost == NULL || q == NULL) return 2;
for (i = 1; i <= n; i++) mincost[i] = n + 10;
for (i = 0; i < m; i++) {
int a, b;
if (scanf("%d%d", &a, &b) != 2) return 1;
ae(a, b);
ae(b, a);
}
mincost[1] = 0;
q[qe++] = 1;
while (qs < qe) {
int cur = q[qs++];
for (i = 0; i < ec[cur]; i++) {
int next = es[cur][i];
if (mincost[next] > mincost[cur] + 1) {
mincost[next] = mincost[cur] + 1;
q[qe++] = next;
}
}
}
for (i = 2; i <= n; i++) {
if (mincost[i] <= 2) ans++;
}
printf("%d\n", ans);
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - パーティー |
| User | mikecat |
| Language | C23 (GCC 14.2.0) |
| Score | 100 |
| Code Size | 1090 Byte |
| Status | AC |
| Exec Time | 2 ms |
| Memory | 1840 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 | data1 |
| set02 | data2 |
| set03 | data3 |
| set04 | data4 |
| set05 | data5 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| data1 | AC | 0 ms | 1708 KiB |
| data2 | AC | 0 ms | 1612 KiB |
| data3 | AC | 0 ms | 1708 KiB |
| data4 | AC | 0 ms | 1708 KiB |
| data5 | AC | 2 ms | 1840 KiB |