1
0
Fork 0

05: C: Slightly faster

This commit is contained in:
Mia Herkt 2022-12-06 00:09:14 +01:00
parent af88bca186
commit 63c5701254
Signed by: mia
GPG Key ID: 72E154B8622EC191
1 changed files with 19 additions and 21 deletions

View File

@ -29,7 +29,25 @@ int main(void) {
int i, n, N = 0, A, f, t;
while (fgets(l, BUFSIZ, stdin)) {
if ((e = strrchr(l, ']'))) {
if (l[0] == 'm') {
n = strtol(l + 5, &e, 10);
f = strtol(e + 6, &e, 10) - 1;
t = atoi(e + 4) - 1;
alloc_crates(stacksA[t], n)
tf = crate_pos(stacksA[f], -1);
tc = crate_pos(stacksA[t], -n);
for (i = 0; i < n; i++)
tc[i] = tf[-i];
stacksA[f].len -= n;
alloc_crates(stacksB[t], n)
tf = crate_pos(stacksB[f], -n);
tc = crate_pos(stacksB[t], -n);
for (i = 0; i < n; i++)
tc[i] = tf[i];
stacksB[f].len -= n;
} else if ((e = strrchr(l, ']'))) {
if (e > m) {
m = e;
A = (m - l) / 4 + 1;
@ -49,26 +67,6 @@ int main(void) {
}
}
}
if (l[0] == 'm') {
n = strtol(l + 5, &e, 10);
f = strtol(e + 6, &e, 10) - 1;
t = atoi(e + 4) - 1;
alloc_crates(stacksA[t], n)
tf = crate_pos(stacksA[f], -1);
tc = crate_pos(stacksA[t], -n);
for (i = 0; i < n; i++)
tc[i] = tf[-i];
stacksA[f].len -= n;
alloc_crates(stacksB[t], n)
tf = crate_pos(stacksB[f], -n);
tc = crate_pos(stacksB[t], -n);
for (i = 0; i < n; i++)
tc[i] = tf[i];
stacksB[f].len -= n;
}
}
printf("Silver: ");