Advertisement
Guest User

Untitled

a guest
Apr 9th, 2020
416
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.53 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ff first
  4. #define ss second
  5.  
  6. bool cmp(pair<pair<int, int>, int> a, pair<pair<int, int>, int> b)
  7. {
  8.     if(a.ff.ss != b.ff.ss)
  9.         return a.ff.ss < b.ff.ss;
  10.     return a.ff.ff > b.ff.ff;
  11. }
  12.  
  13. int main()
  14. {
  15.     int t, caseno = 0, n, i, j, a, b, x;
  16.     int ans[1009];
  17.     vector<pair<pair<int, int>, int> > v;
  18.     cin >> t;
  19.     while(t--)
  20.     {
  21.         v.clear();
  22.  
  23.         cin >> n;
  24.         for(i = 0; i < n; i++)
  25.         {
  26.             cin >> a >> b;
  27.             v.push_back({{a, b}, i});
  28.             ans[i] = 0;
  29.         }
  30.  
  31.         sort(v.begin(), v.end(), cmp);
  32.  
  33.         x = 0;
  34.         for(i = 0; i < n; i++)
  35.         {
  36.             if(!ans[v[i].ss] && x <= v[i].ff.ff)
  37.             {
  38.                 x = v[i].ff.ss;
  39.                 ans[v[i].ss] = 1;
  40.             }
  41.         }
  42.         x = 0;
  43.         for(i = 0; i < n; i++)
  44.         {
  45.             if(!ans[v[i].ss] && x <= v[i].ff.ff)
  46.             {
  47.                 x = v[i].ff.ss;
  48.                 ans[v[i].ss] = 2;
  49.             }
  50.         }
  51.  
  52.         bool flag = 1;
  53.         for(i = 0; i < n; i++)
  54.         {
  55.             if(!ans[i])
  56.                 flag = 0;
  57.         }
  58.  
  59.         cout << "Case #" << ++caseno << ": ";
  60.         if(!flag)
  61.         {
  62.             cout << "IMPOSSIBLE" << endl;
  63.             continue;
  64.         }
  65.  
  66.         for(i = 0; i < n; i++)
  67.         {
  68.             if(ans[i] == 1)
  69.                 cout << 'C';
  70.             else
  71.                 cout << 'J';
  72.         }
  73.         cout << endl;
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement