Advertisement
Josif_tepe

Untitled

Apr 7th, 2022
734
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. #include <cmath>
  4. #include <math.h>
  5. #include <vector>
  6. #include <queue>
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.     int a, b, c;
  12.     cin >> a >> b >> c;
  13.     vector<int> v(a + b + c + 1, 0), v2;
  14.     for(int i = 0; i < a; i++) {
  15.         int x;
  16.         cin >> x;
  17.         v[x] = 1;
  18.     }
  19.     v2 = v;
  20.     int n = (a + b + c);
  21.     vector<int> ans(a + b + c + 1, 10);
  22.     for(int mask = 0; mask <= (1 << n); mask++) {
  23.         int tmpb = b;
  24.         int tmpc = c;
  25.         for(int i = 1; i <= n; i++) {
  26.             if(v[i] == 1) {
  27.                 continue;
  28.             }
  29.             if(mask & (1 << i)) {
  30.                 tmpb--;
  31.                 v[i] = 2;
  32.             }
  33.             else {
  34.                 tmpc--;
  35.                 v[i] = 3;
  36.             }
  37.         }
  38.         bool ok = true;
  39.         if(tmpb == 0 and tmpc == 0) {
  40.             for(int j = 1; j  + 1 <= n; j++) {
  41.                 if(v[j] == v[j+ 1] and v[j] != 0 and v[j + 1] != 0) {
  42.                     ok = false;
  43.                     break;
  44.                 }
  45.             }
  46.             if(ok) {
  47.            
  48.                 ans = min(ans, v);
  49.             }
  50.         }
  51.      
  52.         v=v2;
  53.     }
  54.     for(int i = 1; i <= ans.size(); i++) {
  55.         if(ans[i] == 1) {
  56.             cout << 'A';
  57.         }
  58.         if(ans[i] == 2) {
  59.             cout << 'B';
  60.         }
  61.         if(ans[i] == 3) {
  62.             cout << 'C';
  63.         }
  64.     }
  65.     if(ans[0] == 10) {
  66.         cout << -1 << endl;
  67.     }
  68.    
  69.     return 0;
  70. }
  71.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement