| 
 | 
 
 
发表于 2021-3-12 23:09:10
|
显示全部楼层
   本楼为最佳答案    
 
 
- #include <iostream>
 
 - #include <vector>
 
  
- void get(std::vector<size_t> &a, std::vector<size_t> &b) {
 
 -     a.clear(); b.clear();
 
 -     size_t count; std::cin >> count;
 
 -     for(size_t i = 0; i < count; ++i) {
 
 -         size_t num; std::cin >> num;
 
 -         a.push_back(num);
 
 -     }
 
 -     for(size_t i = 0; i < count; ++i) {
 
 -         size_t num; std::cin >> num;
 
 -         b.push_back(num);
 
 -     }
 
 - }
 
  
- const std::vector<size_t> verify(const std::vector<size_t> &a, const std::vector<size_t> &b) {
 
 -     std::vector<size_t> va = a, vb = b, vc;
 
 -     while(!va.empty()) {
 
 -         if(va[0] == vb[0]) {
 
 -             va.erase(va.begin());
 
 -             vb.erase(vb.begin());
 
 -         } else {
 
 -             vc.push_back(vb[0]);
 
 -             for(auto iter = va.begin(); iter != va.end(); ++iter) {
 
 -                 if(*iter == vb[0]) {va.erase(iter); break;}
 
 -             }
 
 -             vb.erase(vb.begin());
 
 -         }
 
 -     }
 
 -     return vc;
 
 - }
 
  
- int main() {
 
 -     std::vector<size_t> a, b, c;
 
 -     get(a, b); c = verify(a, b);
 
 -     for(const auto &num: c) {
 
 -         std::cout << num << " ";
 
 -     }
 
 -     std::cout << std::endl;
 
 -     return 0;
 
 - }
 
 
  复制代码 |   
 
 
 
 |