senb1

krsu 659

Mar 7th, 2023
786
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.13 KB | None | 0 0
  1. /*
  2. by: senb1 aka amigo
  3. this is so stupid bruhh
  4. */
  5.  
  6. #include <bits/stdc++.h>
  7.  
  8. #define ll long long
  9. #define ull unsigned long long
  10. #define all(x) x.begin(), x.end()
  11. #define fr first
  12. #define sc second
  13. #define mk make_pair
  14. #define rall(x) x.rbegin(), x.rend()
  15. #define endl '\n'
  16.  
  17. using namespace std;
  18.  
  19. const ll mod = 998244353;
  20. const ll maxn = 1e6 + 5;
  21. const ll inf = 1e9 + 6;
  22.  
  23. int answer(int a, int b, int c, int d, int i) {
  24.     int ans = inf;
  25.     if (a + b + c + d == 24) {
  26.         ans = min(ans, (i * 2));
  27.     }
  28.     if (a + b + c - d == 24) {
  29.         ans = min(ans, (i * 2));
  30.     }
  31.     if (a + b - c + d == 24) {
  32.         ans = min(ans, (i * 2));
  33.     }
  34.     if (a - b + c + d == 24) {
  35.         ans = min(ans, (i * 2));
  36.     }
  37.     if (a + b - c - d == 24) {
  38.         ans = min(ans, (i * 2));
  39.     }
  40.     if (a - b + c - d == 24) {
  41.         ans = min(ans, (i * 2));
  42.     }
  43.     if (a - b - c + d == 24) {
  44.         ans = min(ans, (i * 2));
  45.     }
  46.     if (a - b - c - d == 24) {
  47.         ans = min(ans, (i * 2));
  48.     }
  49.     if (a * b + c + d == 24) {
  50.         ans = min(ans, (i * 2));
  51.     }
  52.     if (a + b * c + d == 24) {
  53.         ans = min(ans, (i * 2));
  54.     }
  55.     if (a + b + c * d == 24) {
  56.         ans = min(ans, (i * 2));
  57.     }
  58.     if (a * b + c - d == 24) {
  59.         ans = min(ans, (i * 2));
  60.     }
  61.     if (a * b - c + d == 24) {
  62.         ans = min(ans, (i * 2));
  63.     }
  64.     if (a + b * c - d == 24) {
  65.         ans = min(ans, (i * 2));
  66.     }
  67.     if (a + b - c * d == 24) {
  68.         ans = min(ans, (i * 2));
  69.     }
  70.     if (a - b * c + d == 24) {
  71.         ans = min(ans, (i * 2));
  72.     }
  73.     if (a - b + c * d == 24) {
  74.         ans = min(ans, (i * 2));
  75.     }
  76.     if (a * b - c - d == 24) {
  77.         ans = min(ans, (i * 2));
  78.     }
  79.     if (a - b * c - d == 24) {
  80.         ans = min(ans, (i * 2));
  81.     }
  82.     if (a - b - c * d == 24) {
  83.         ans = min(ans, (i * 2));
  84.     }
  85.     if (a * b * c + d == 24) {
  86.         ans = min(ans, (i * 2));
  87.     }
  88.     if (a * b + c * d == 24) {
  89.         ans = min(ans, (i * 2));
  90.     }
  91.     if (a + b * c * d == 24) {
  92.         ans = min(ans, (i * 2));
  93.     }
  94.     if (a * b * c * d == 24) {
  95.         ans = min(ans, (i * 2));
  96.     }
  97.     if (a * b * c - d == 24) {
  98.         ans = min(ans, (i * 2));
  99.     }
  100.     if (a * b - c * d == 24) {
  101.         ans = min(ans, (i * 2));
  102.     }
  103.     if (a - b * c * d == 24) {
  104.         ans = min(ans, (i * 2));
  105.     }
  106.     if (a * (b + c) + d == 24) {
  107.         ans = min(ans, (i * 2) + 1);
  108.     }
  109.     if (a * (b + c + d) == 24) {
  110.         ans = min(ans, (i * 2) + 1);
  111.     }
  112.     if ((a + b) * c + d == 24) {
  113.         ans = min(ans, (i * 2) + 1);
  114.     }
  115.     if (a + b * (c + d) == 24) {
  116.         ans = min(ans, (i * 2) + 1);
  117.     }
  118.     if (a + (b + c) * d == 24) {
  119.         ans = min(ans, (i * 2) + 1);
  120.     }
  121.     if ((a + b + c) * d == 24) {
  122.         ans = min(ans, (i * 2) + 1);
  123.     }
  124.     if (a * (b + c) - d == 24) {
  125.         ans = min(ans, (i * 2) + 1);
  126.     }
  127.     if (a * (b + c - d) == 24) {
  128.         ans = min(ans, (i * 2) + 1);
  129.     }
  130.     if (a * (b - c) + d == 24) {
  131.         ans = min(ans, (i * 2) + 1);
  132.     }
  133.     if (a * (b - c + d) == 24) {
  134.         ans = min(ans, (i * 2) + 1);
  135.     }
  136.     if ((a + b) * c - d == 24) {
  137.         ans = min(ans, (i * 2) + 1);
  138.     }
  139.     if (a + b * (c - d) == 24) {
  140.         ans = min(ans, (i * 2) + 1);
  141.     }
  142.     if (a + (b - c) * d == 24) {
  143.         ans = min(ans, (i * 2) + 1);
  144.     }
  145.     if ((a + b - c) * d == 24) {
  146.         ans = min(ans, (i * 2) + 1);
  147.     }
  148.     if ((a - b) * c + d == 24) {
  149.         ans = min(ans, (i * 2) + 1);
  150.     }
  151.     if (a - b * (c + d) == 24) {
  152.         ans = min(ans, (i * 2) + 1);
  153.     }
  154.     if ((a - b + c) * d == 24) {
  155.         ans = min(ans, (i * 2) + 1);
  156.     }
  157.     if (a - (b + c) * d == 24) {
  158.         ans = min(ans, (i * 2) + 1);
  159.     }
  160.     if (a * (b - c) - d == 24) {
  161.         ans = min(ans, (i * 2) + 1);
  162.     }
  163.     if (a * (b - c - d) == 24) {
  164.         ans = min(ans, (i * 2) + 1);
  165.     }
  166.     if ((a - b) * c - d == 24) {
  167.         ans = min(ans, (i * 2) + 1);
  168.     }
  169.     if (a - b * (c - d) == 24) {
  170.         ans = min(ans, (i * 2) + 1);
  171.     }
  172.     if ((a - b - c) * d == 24) {
  173.         ans = min(ans, (i * 2) + 1);
  174.     }
  175.     if (a - (b - c) * d == 24) {
  176.         ans = min(ans, (i * 2) + 1);
  177.     }
  178.     if (a * b * (c + d) == 24) {
  179.         ans = min(ans, (i * 2) + 1);
  180.     }
  181.     if (a * (b + c) * d == 24) {
  182.         ans = min(ans, (i * 2) + 1);
  183.     }
  184.     if ((a + b) * c * d == 24) {
  185.         ans = min(ans, (i * 2) + 1);
  186.     }
  187.     if (a * b * (c - d) == 24) {
  188.         ans = min(ans, (i * 2) + 1);
  189.     }
  190.     if (a * (b - c) * d == 24) {
  191.         ans = min(ans, (i * 2) + 1);
  192.     }
  193.     if ((a - b) * c * d == 24) {
  194.         ans = min(ans, (i * 2) + 1);
  195.     }
  196.     if ((a + b) * (c + d) == 24) {
  197.         ans = min(ans, (i * 2) + 2);
  198.     }
  199.     if ((a + b) * (c - d) == 24) {
  200.         ans = min(ans, (i * 2) + 2);
  201.     }
  202.     if ((a - b) * (c + d) == 24) {
  203.         ans = min(ans, (i * 2) + 2);
  204.     }
  205.     if ((a - b) * (c - d) == 24) {
  206.         ans = min(ans, (i * 2) + 2);
  207.     }
  208.     if (a * b * c + d == 24) {
  209.         ans = min(ans, (i * 2));
  210.     }
  211.     if ((a * b + c) * d == 24) {
  212.         ans = min(ans, (i * 2) + 1);
  213.     }
  214.     if ((a + b * c) * d == 24) {
  215.         ans = min(ans, (i * 2) + 1);
  216.     }
  217.     if (a * (b * c - d) == 24) {
  218.         ans = min(ans, (i * 2) + 1);
  219.     }
  220.     if ((a * b - c) * d == 24) {
  221.         ans = min(ans, (i * 2) + 1);
  222.     }
  223.     if ((a - b * c) * d == 24) {
  224.         ans = min(ans, (i * 2) + 1);
  225.     }
  226.     return ans;
  227. }
  228.  
  229. void solve() {
  230.     vector<int> v(4);
  231.     cin >> v[0] >> v[1] >> v[2] >> v[3];
  232.     int ans = inf, i = 0;
  233.     ans = min(ans, answer(v[0], v[1], v[2], v[3], 0));
  234.     ans = min(ans, answer(v[0], v[1], v[3], v[2], 1));
  235.     ans = min(ans, answer(v[0], v[2], v[1], v[3], 1));
  236.     ans = min(ans, answer(v[0], v[2], v[3], v[1], 2));
  237.     ans = min(ans, answer(v[0], v[3], v[1], v[2], 2));
  238.     ans = min(ans, answer(v[0], v[3], v[2], v[1], 1));
  239.     ans = min(ans, answer(v[1], v[0], v[2], v[3], 1));
  240.     ans = min(ans, answer(v[1], v[0], v[3], v[2], 2));
  241.     ans = min(ans, answer(v[1], v[2], v[0], v[3], 2));
  242.     ans = min(ans, answer(v[1], v[2], v[3], v[0], 3));
  243.     ans = min(ans, answer(v[1], v[3], v[0], v[2], 3));
  244.     ans = min(ans, answer(v[1], v[3], v[2], v[0], 2));
  245.     ans = min(ans, answer(v[2], v[0], v[1], v[3], 2));
  246.     ans = min(ans, answer(v[2], v[0], v[3], v[1], 3));
  247.     ans = min(ans, answer(v[2], v[1], v[0], v[3], 1));
  248.     ans = min(ans, answer(v[2], v[1], v[3], v[0], 2));
  249.     ans = min(ans, answer(v[2], v[3], v[0], v[1], 2));
  250.     ans = min(ans, answer(v[2], v[3], v[1], v[0], 3));
  251.     ans = min(ans, answer(v[3], v[0], v[1], v[2], 3));
  252.     ans = min(ans, answer(v[3], v[0], v[2], v[1], 2));
  253.     ans = min(ans, answer(v[3], v[1], v[0], v[2], 2));
  254.     ans = min(ans, answer(v[3], v[1], v[2], v[0], 1));
  255.     ans = min(ans, answer(v[3], v[2], v[0], v[1], 3));
  256.     ans = min(ans, answer(v[3], v[2], v[1], v[0], 2));
  257.  
  258.     if (ans == inf) {
  259.         cout << 0;
  260.     } else
  261.         cout << ans;
  262. }
  263. /*
  264.  
  265. */
  266.  
  267. int main() {
  268.     ios::sync_with_stdio(0);
  269.     cin.tie(0);
  270.  
  271.     int t = 1;
  272.     // cin >> t;
  273.     while (t--)
  274.         solve();
  275. }
Advertisement
Add Comment
Please, Sign In to add comment