Advertisement
ke_timofeeva7

случайные числа чето там

Jun 19th, 2021
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.22 KB | None | 0 0
  1. /*
  2. ЗАПУСКАЕМ░░
  3. ░ГУСЯ░▄▀▀▀▄░ГИДРУ░░
  4. ▄███▀░◐░▄▀▀▀▄░░░░░░
  5. ░░▄███▀░◐░░░░▌░░░
  6. ░░░▐░▄▀▀▀▄░░░▌░░░░
  7. ▄███▀░◐░░░▌░░▌░░░░
  8. ░░░░▌░░░░░▐▄▄▌░░░░░
  9. ░░░░▌░░░░▄▀▒▒▀▀▀▀▄
  10. ░░░▐░░░░▐▒▒▒▒▒▒▒▒▀▀▄
  11. ░░░▐░░░░▐▄▒▒▒▒▒▒▒▒▒▒▀▄
  12. ░░░░▀▄░░░░▀▄▒▒▒▒▒▒▒▒▒▒▀▄
  13. ░░░░░░▀▄▄▄▄▄█▄▄▄▄▄▄▄▄▄▄▄▀▄
  14. ░░░░░░░░░░░▌▌░▌▌░░░░░
  15. ░░░░░░░░░░░▌▌░▌▌░░░░░
  16. ░░░░░░░░░▄▄▌▌▄▌▌░░░░░
  17. */
  18. /*
  19. #include <iostream>
  20. #include <string>
  21. #include <sstream>
  22. #include <vector>
  23. #include <cmath>
  24. #include <algorithm>
  25. #include <memory.h>
  26. #include <stdio.h>
  27. #include <stack>
  28. #include <deque>
  29. #include <queue>
  30. #include <set>
  31. #include <iterator>
  32. #include <map>
  33. #include <iomanip>
  34. #include <unordered_set>
  35. #define int long long
  36. #define pb push_back
  37. #define double long double
  38. #define endl "\n"
  39. #define un unsigned
  40. #define INF 1000000000009
  41. #define pii pair<int, int>
  42. #define all(v) v.begin(), v.end()
  43. using namespace std;
  44.  
  45. istream& operator >> (istream& in, vector<int>& a)
  46. {
  47.     for (int i = 0; i < a.size(); i++)
  48.     {
  49.         in >> a[i];
  50.     }
  51.  
  52.     return in;
  53. }
  54.  
  55. ostream& operator << (ostream& out, vector<int>& a)
  56. {
  57.     for (int i = 0; i < a.size(); i++)
  58.     {
  59.         out << a[i] << " ";
  60.     }
  61.  
  62.     return out;
  63. }
  64.  
  65. signed main()
  66. {
  67.     ios_base::sync_with_stdio();
  68.     cin.tie(0);
  69.     cout.tie(0);
  70.  
  71.     int n, k;
  72.     cin >> n >> k;
  73.  
  74.     vector<int> min_mask(n);
  75.  
  76.     for (int i = 0; i < n; i++)
  77.     {
  78.         int p;
  79.         cin >> p;
  80.        
  81.         int q = 0;
  82.  
  83.         for (int j = 0; j < p; j++)
  84.         {
  85.             int a;
  86.             cin >> a;
  87.  
  88.             q += (1 << (a - 1));
  89.         }
  90.  
  91.         min_mask[i] = q;
  92.     }
  93.  
  94.     int ans = 0;
  95.     int kol = 0, mx = INF;
  96.  
  97.     for (int mask = 0; mask < (1 << n) - 1; mask++)
  98.     {
  99.         int podmask = mask;
  100.         int q = 0;
  101.  
  102.         kol = 0;
  103.  
  104.         for (int i = 0; podmask != 0; i++)
  105.         {
  106.             if (podmask & 1)
  107.             {
  108.                 q = q | min_mask[i];
  109.                 kol++;
  110.             }
  111.  
  112.             podmask = podmask >> 1;
  113.         }
  114.  
  115.         if (q == (1 << k) - 1 && kol < mx)
  116.         {
  117.             mx = kol;
  118.             ans = mask;
  119.         }
  120.     }
  121.  
  122.     kol = __builtin_popcount(ans);
  123.  
  124.     cout << kol << endl;
  125.  
  126.     for (int i = 0; ans > 0; i++)
  127.     {
  128.         if (ans & 1)
  129.         {
  130.             cout << i + 1 << " ";
  131.         }
  132.  
  133.         ans = ans >> 1;
  134.     }
  135.  
  136.     return 0;
  137. }*/
  138.  
  139.  
  140. /*
  141. ЗАПУСКАЕМ░░
  142. ░ГУСЯ░▄▀▀▀▄░ГИДРУ░░
  143. ▄███▀░◐░▄▀▀▀▄░░░░░░
  144. ░░▄███▀░◐░░░░▌░░░
  145. ░░░▐░▄▀▀▀▄░░░▌░░░░
  146. ▄███▀░◐░░░▌░░▌░░░░
  147. ░░░░▌░░░░░▐▄▄▌░░░░░
  148. ░░░░▌░░░░▄▀▒▒▀▀▀▀▄
  149. ░░░▐░░░░▐▒▒▒▒▒▒▒▒▀▀▄
  150. ░░░▐░░░░▐▄▒▒▒▒▒▒▒▒▒▒▀▄
  151. ░░░░▀▄░░░░▀▄▒▒▒▒▒▒▒▒▒▒▀▄
  152. ░░░░░░▀▄▄▄▄▄█▄▄▄▄▄▄▄▄▄▄▄▀▄
  153. ░░░░░░░░░░░▌▌░▌▌░░░░░
  154. ░░░░░░░░░░░▌▌░▌▌░░░░░
  155. ░░░░░░░░░▄▄▌▌▄▌▌░░░░░
  156. */
  157.  
  158. #include <iostream>
  159. #include <string>
  160. #include <sstream>
  161. #include <vector>
  162. #include <cmath>
  163. #include <algorithm>
  164. #include <memory.h>
  165. #include <stdio.h>
  166. #include <stack>
  167. #include <deque>
  168. #include <queue>
  169. #include <set>
  170. #include <iterator>
  171. #include <map>
  172. #include <iomanip>
  173. #include <unordered_set>
  174. #define int long long
  175. #define pb push_back
  176. #define double long double
  177. #define endl "\n"
  178. #define un unsigned
  179. #define INF 1000000000009
  180. #define pii pair<int, int>
  181. #define all(v) v.begin(), v.end()
  182. using namespace std;
  183.  
  184. istream& operator >> (istream& in, vector<int>& a)
  185. {
  186.     for (int i = 0; i < a.size(); i++)
  187.     {
  188.         in >> a[i];
  189.     }
  190.  
  191.     return in;
  192. }
  193.  
  194. ostream& operator << (ostream& out, vector<int>& a)
  195. {
  196.     for (int i = 0; i < a.size(); i++)
  197.     {
  198.         out << a[i] << " ";
  199.     }
  200.  
  201.     return out;
  202. }
  203.  
  204. signed main()
  205. {
  206.     ios_base::sync_with_stdio();
  207.     cin.tie(0);
  208.     cout.tie(0);
  209.  
  210.     int n;
  211.     cin >> n;
  212.  
  213.     vector <int> vc(n);
  214.     cin >> vc;
  215.  
  216.     int ans = 0;
  217.  
  218.     vector <int> pr(1 << n);
  219.  
  220.     for (int mask = 1; mask < (1 << n) - 1; mask++)
  221.     {
  222.         int a = 0;
  223.  
  224.         for (int i = 0; i < n; i++)
  225.         {
  226.             if (mask >> i & 1)
  227.             {
  228.                 a += vc[i];
  229.             }
  230.         }
  231.  
  232.         pr[mask] = a;
  233.     }
  234.  
  235.  
  236.     for (int mask = 1; mask < (1 << n) - 1; mask++)
  237.     {
  238.         int a = pr[mask];
  239.  
  240.         for (int up = mask; up < (1 << n); up = mask | (up + 1))
  241.         {
  242.             int sev = mask ^ up;
  243.  
  244.             if (sev == 0)
  245.             {
  246.                 continue;
  247.             }
  248.  
  249.             int b = pr[sev];
  250.  
  251.             ans = ans + (a % b);
  252.         }
  253.     }
  254.  
  255.     cout << ans;
  256.  
  257.     return 0;
  258. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement