Sreekar_0125

Untitled

Sep 10th, 2023
821
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | None | 0 0
  1.  
  2. int mex(vi &v)
  3. {
  4.  
  5.     int m = 0;
  6.     set<int> st;
  7.     f(i, 0, v.size())
  8.     {
  9.         st.insert(v[i]);
  10.     }
  11.     for (auto i : st)
  12.     {
  13.         if (i == m)
  14.         {
  15.             m++;
  16.         }
  17.         else
  18.         {
  19.             break;
  20.         }
  21.     }
  22.     return m;
  23. }
  24.  
  25. void solve()
  26. {
  27.     int n, m;
  28.     cin >> n >> m;
  29.  
  30.     vi v(m);
  31.     f(i, 1, m)
  32.     {
  33.         v[i] = m - i;
  34.     }
  35.     rotate(v.begin(), v.begin() + m - 1, v.end());
  36.     debug(v);
  37.     vector<vi> ans;
  38.     f(i, 0, n)
  39.     {
  40.         // print(v);
  41.         ans.pb(v);
  42.         rotate(v.begin(), v.begin() + m - 1, v.end());
  43.         if (v[0] == 0)
  44.             rotate(v.begin(), v.begin() + m - 1, v.end());
  45.     }
  46.     debug(ans);
  47.     vi anss;
  48.  
  49.     // println(mex(auxx));
  50.     f(i, 0, m)
  51.     {
  52.         vi aux;
  53.         f(j, 0, n)
  54.         {
  55.             aux.pb(ans[j][i]);
  56.         }
  57.         debug(aux);
  58.         anss.pb(mex(aux));
  59.     }
  60.     debug(anss);
  61.     println(mex(anss));
  62.     f(i, 0, n)
  63.     {
  64.         f(j, 0, m)
  65.         {
  66.             print(ans[i][j]);
  67.         }
  68.         cout << endl;
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment