Advertisement
Horikita_Suzune

Untitled

Dec 31st, 2019
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.75 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n,m,k,w,x,a;
  4. vector<int> y,p;
  5. vector<vector<int>> ymoves;
  6. vector<vector<int>> pmoves;
  7. int main(){
  8.     cin>>n>>m;
  9.     for(int i=0;i<n;i++){
  10.         cin>>a;
  11.         y.push_back(a);
  12.     }
  13.     for(int i=0;i<m;i++){
  14.         cin>>a;
  15.         p.push_back(a);
  16.     }
  17.     cin>>k;
  18.     ymoves.resize(k);
  19.     pmoves.resize(k);
  20.     bool b=1;
  21.     for(int i=0;i<k;i++){
  22.         cin>>x>>w;
  23.         if(y.empty()||p.empty()){
  24.             b=0;
  25.             cout<<i<<'\n';
  26.             for(int j=0;j<i;j++){
  27.                 cout<<ymoves[j].size()<<' ';
  28.                 for(int l=0;l<ymoves[j].size();l++)cout<<ymoves[j].at(l)<<' ';
  29.                 cout<<'\n';
  30.                 cout<<pmoves[j].size()<<' ';
  31.                 for(int l=0;l<pmoves[j].size();l++)cout<<pmoves[j].at(l)<<' ';
  32.                 cout<<'\n';
  33.             }
  34.             break;
  35.         }
  36.         bool find=0;
  37.         for(int j=0;j<p.size();j++){
  38.             if(p[j]==x){
  39.                 y.push_back(x);
  40.                 p.erase(p.begin()+j);
  41.                 find=1;
  42.                 break;
  43.             }
  44.         }
  45.         if(y.size()!=0&&find){
  46.             for(int j=0;j<y.size()-1;j++){
  47.                 if(y[j]==x){
  48.                     y.erase(y.begin()+j);
  49.                     y.pop_back();
  50.                     break;
  51.                 }
  52.             }
  53.         }
  54.         find=0;
  55.         for(int j=0;j<y.size();j++){
  56.             if(y[j]==w){
  57.                 p.push_back(w);
  58.                 y.erase(y.begin()+j);
  59.                 find=1;
  60.                 break;
  61.             }
  62.         }
  63.         if(p.size()!=0&&find){
  64.             for(int j=0;j<p.size()-1;j++){
  65.                 if(p[j]==w){
  66.                     p.erase(p.begin()+j);
  67.                     p.pop_back();
  68.                     break;
  69.                 }
  70.             }
  71.         }
  72.        
  73.         ymoves[i].resize(y.size());
  74.         pmoves[i].resize(p.size());
  75.         copy(y.begin(),y.end(),ymoves[i].begin());
  76.         copy(p.begin(),p.end(),pmoves[i].begin());
  77.     }
  78.     if(b){
  79.         cout<<k<<'\n';
  80.         for(int j=0;j<k;j++){
  81.             cout<<ymoves[j].size()<<' ';
  82.             for(int l=0;l<ymoves[j].size();l++)cout<<ymoves[j].at(l)<<' ';
  83.             cout<<'\n';
  84.             cout<<pmoves[j].size()<<' ';
  85.             for(int l=0;l<pmoves[j].size();l++)cout<<pmoves[j].at(l)<<' ';
  86.             cout<<'\n';
  87.         }
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement