finish part 2, just math issue
This commit is contained in:
parent
af397ec3db
commit
d83cf8f50e
19
13/part2.c
19
13/part2.c
|
@ -2,7 +2,20 @@
|
||||||
|
|
||||||
long long solve(long long A[], long long B[], long long prize[]) {
|
long long solve(long long A[], long long B[], long long prize[]) {
|
||||||
|
|
||||||
return 0;
|
if (((prize[0] * B[1]) - (B[0] * prize[1])) % ((A[0] * B[1]) - (B[0] * A[1])) != 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (((A[0] * prize[1]) - (prize[0] * A[1])) % ((A[0] * B[1]) - (B[0] * A[1])) != 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
long long x = ((prize[0] * B[1]) - (B[0] * prize[1])) / ((A[0] * B[1]) - (B[0] * A[1]));
|
||||||
|
long long y = ((A[0] * prize[1]) - (prize[0] * A[1])) / ((A[0] * B[1]) - (B[0] * A[1]));
|
||||||
|
|
||||||
|
if (x <= 0 || y <= 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
long long result = x * 3 + y;
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,9 +36,9 @@ int main(int argc, char **argv) {
|
||||||
long long B[2] = {atoi(button_B[0]), atoi(button_B[1])};
|
long long B[2] = {atoi(button_B[0]), atoi(button_B[1])};
|
||||||
|
|
||||||
char **prizes = str_split(strdup(inputs[i + 2]), ' ');
|
char **prizes = str_split(strdup(inputs[i + 2]), ' ');
|
||||||
long long prize[2] = {atoi(prizes[0]), atoi(prizes[1])};
|
long long prize[2] = {atoi(prizes[0]) + 10000000000000, atoi(prizes[1]) + 10000000000000};
|
||||||
|
|
||||||
solve(A, B, prize);
|
token_spent += solve(A, B, prize);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("token_spent: %lld\n", token_spent);
|
printf("token_spent: %lld\n", token_spent);
|
||||||
|
|
Loading…
Reference in a new issue