想用set做这道题,但是set是有序的,与题目要求不符,有没有一种方法可以用set并且保证顺序不变?
#include <iostream>
#include <cstdio>
#include <set>
using namespace std;
int n, m, lena, lenb;
set<int> a, b;
int main() {
scanf("%d%d", &n, &m);
for (int i = 1, d; i <= n; i ++) {
scanf("%d", &d);
a.insert(d);
}
for (int i = 1, d; i <= m; i ++) {
scanf("%d", &d);
b.insert(d);
}
for (const auto& thi : a) {
if (b.count(thi)) printf("%d ", thi);
}
return 0;
}