2024 day 13
This commit is contained in:
parent
0ad4f00d6d
commit
d82693c074
45
2024/13/main-1.cpp
Normal file
45
2024/13/main-1.cpp
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
#include <bits/stdc++.h>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
typedef unsigned long long ull;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(0);
|
||||||
|
cin.tie(0);
|
||||||
|
|
||||||
|
int total = 0;
|
||||||
|
|
||||||
|
while (!cin.eof()) {
|
||||||
|
int ax, ay, bx, by, px, py;
|
||||||
|
cin.ignore(12);
|
||||||
|
cin >> ax;
|
||||||
|
cin.ignore(4);
|
||||||
|
cin >> ay;
|
||||||
|
cin.ignore(13);
|
||||||
|
cin >> bx;
|
||||||
|
cin.ignore(4);
|
||||||
|
cin >> by;
|
||||||
|
cin.ignore(10);
|
||||||
|
cin >> px;
|
||||||
|
cin.ignore(4);
|
||||||
|
cin >> py;
|
||||||
|
cin.ignore(2);
|
||||||
|
|
||||||
|
int smallest = -1;
|
||||||
|
for (int a = 0; a <= 100; a++) {
|
||||||
|
for (int b = 0; b <= 100; b++) {
|
||||||
|
if (ax * a + bx * b == px && ay * a + by * b == py) {
|
||||||
|
int n = a * 3 + b;
|
||||||
|
if (smallest == -1 || n < smallest) {
|
||||||
|
smallest = n;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (smallest != -1) {
|
||||||
|
total += smallest;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cout << total << '\n';
|
||||||
|
}
|
43
2024/13/main-2.cpp
Normal file
43
2024/13/main-2.cpp
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
#include <bits/stdc++.h>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
typedef long long ll;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(0);
|
||||||
|
cin.tie(0);
|
||||||
|
|
||||||
|
ll total = 0;
|
||||||
|
|
||||||
|
while (!cin.eof()) {
|
||||||
|
int ax, ay, bx, by;
|
||||||
|
ll px, py;
|
||||||
|
cin.ignore(12);
|
||||||
|
cin >> ax;
|
||||||
|
cin.ignore(4);
|
||||||
|
cin >> ay;
|
||||||
|
cin.ignore(13);
|
||||||
|
cin >> bx;
|
||||||
|
cin.ignore(4);
|
||||||
|
cin >> by;
|
||||||
|
cin.ignore(10);
|
||||||
|
cin >> px;
|
||||||
|
cin.ignore(4);
|
||||||
|
cin >> py;
|
||||||
|
cin.ignore(2);
|
||||||
|
|
||||||
|
px += 10000000000000;
|
||||||
|
py += 10000000000000;
|
||||||
|
|
||||||
|
ll bd = bx * ay - by * ax;
|
||||||
|
ll pd = px * ay - py * ax;
|
||||||
|
if (pd % bd != 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
ll b = pd / bd;
|
||||||
|
ll a = (px - bx * b) / ax;
|
||||||
|
total += a * 3 + b;
|
||||||
|
}
|
||||||
|
|
||||||
|
cout << total << '\n';
|
||||||
|
}
|
Loading…
Reference in a new issue