Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- by: senb1 aka amigo
- this is so stupid bruhh
- */
- #include <bits/stdc++.h>
- #define ll long long
- #define ull unsigned long long
- #define all(x) x.begin(), x.end()
- #define fr first
- #define sc second
- #define mk make_pair
- #define rall(x) x.rbegin(), x.rend()
- #define endl '\n'
- using namespace std;
- const ll mod = 998244353;
- const ll maxn = 1e6 + 5;
- const ll inf = 1e9 + 6;
- int answer(int a, int b, int c, int d, int i) {
- int ans = inf;
- if (a + b + c + d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a + b + c - d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a + b - c + d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a - b + c + d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a + b - c - d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a - b + c - d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a - b - c + d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a - b - c - d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a * b + c + d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a + b * c + d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a + b + c * d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a * b + c - d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a * b - c + d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a + b * c - d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a + b - c * d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a - b * c + d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a - b + c * d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a * b - c - d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a - b * c - d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a - b - c * d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a * b * c + d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a * b + c * d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a + b * c * d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a * b * c * d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a * b * c - d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a * b - c * d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a - b * c * d == 24) {
- ans = min(ans, (i * 2));
- }
- if (a * (b + c) + d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a * (b + c + d) == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a + b) * c + d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a + b * (c + d) == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a + (b + c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a + b + c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a * (b + c) - d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a * (b + c - d) == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a * (b - c) + d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a * (b - c + d) == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a + b) * c - d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a + b * (c - d) == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a + (b - c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a + b - c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a - b) * c + d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a - b * (c + d) == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a - b + c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a - (b + c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a * (b - c) - d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a * (b - c - d) == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a - b) * c - d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a - b * (c - d) == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a - b - c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a - (b - c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a * b * (c + d) == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a * (b + c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a + b) * c * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a * b * (c - d) == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a * (b - c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a - b) * c * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a + b) * (c + d) == 24) {
- ans = min(ans, (i * 2) + 2);
- }
- if ((a + b) * (c - d) == 24) {
- ans = min(ans, (i * 2) + 2);
- }
- if ((a - b) * (c + d) == 24) {
- ans = min(ans, (i * 2) + 2);
- }
- if ((a - b) * (c - d) == 24) {
- ans = min(ans, (i * 2) + 2);
- }
- if (a * b * c + d == 24) {
- ans = min(ans, (i * 2));
- }
- if ((a * b + c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a + b * c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if (a * (b * c - d) == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a * b - c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- if ((a - b * c) * d == 24) {
- ans = min(ans, (i * 2) + 1);
- }
- return ans;
- }
- void solve() {
- vector<int> v(4);
- cin >> v[0] >> v[1] >> v[2] >> v[3];
- int ans = inf, i = 0;
- ans = min(ans, answer(v[0], v[1], v[2], v[3], 0));
- ans = min(ans, answer(v[0], v[1], v[3], v[2], 1));
- ans = min(ans, answer(v[0], v[2], v[1], v[3], 1));
- ans = min(ans, answer(v[0], v[2], v[3], v[1], 2));
- ans = min(ans, answer(v[0], v[3], v[1], v[2], 2));
- ans = min(ans, answer(v[0], v[3], v[2], v[1], 1));
- ans = min(ans, answer(v[1], v[0], v[2], v[3], 1));
- ans = min(ans, answer(v[1], v[0], v[3], v[2], 2));
- ans = min(ans, answer(v[1], v[2], v[0], v[3], 2));
- ans = min(ans, answer(v[1], v[2], v[3], v[0], 3));
- ans = min(ans, answer(v[1], v[3], v[0], v[2], 3));
- ans = min(ans, answer(v[1], v[3], v[2], v[0], 2));
- ans = min(ans, answer(v[2], v[0], v[1], v[3], 2));
- ans = min(ans, answer(v[2], v[0], v[3], v[1], 3));
- ans = min(ans, answer(v[2], v[1], v[0], v[3], 1));
- ans = min(ans, answer(v[2], v[1], v[3], v[0], 2));
- ans = min(ans, answer(v[2], v[3], v[0], v[1], 2));
- ans = min(ans, answer(v[2], v[3], v[1], v[0], 3));
- ans = min(ans, answer(v[3], v[0], v[1], v[2], 3));
- ans = min(ans, answer(v[3], v[0], v[2], v[1], 2));
- ans = min(ans, answer(v[3], v[1], v[0], v[2], 2));
- ans = min(ans, answer(v[3], v[1], v[2], v[0], 1));
- ans = min(ans, answer(v[3], v[2], v[0], v[1], 3));
- ans = min(ans, answer(v[3], v[2], v[1], v[0], 2));
- if (ans == inf) {
- cout << 0;
- } else
- cout << ans;
- }
- /*
- */
- int main() {
- ios::sync_with_stdio(0);
- cin.tie(0);
- int t = 1;
- // cin >> t;
- while (t--)
- solve();
- }
Advertisement
Add Comment
Please, Sign In to add comment