Đăng nhập để hỏi chi tiết
test 1 n,m=5,6 nhé giúp mik với c++ ạ lm bằng string
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
297
213
#danglam228
- Ý tưởng: Dùng 2 con trỏ 2 đầu của dãy và xét
#include <bits/stdc++.h>
using namespace std;
const int N=1e7+2;
int n,m,a[N],f[N],g[N];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
freopen("CAU3.INP", "r", stdin);
freopen("CAU3.OUT", "w", stdout);
cin >> n >> m;
int d = 0;
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
for (int i = 0; i < m; ++i) {
cin >> f[i];
}
sort(a, a + n);
sort(f, f + m);
int i = 0, j = 0;
while (i < n && j < m) {
if (a[i] < f[j]) {
++i;
} else if (a[i] > f[j]) {
++j;
} else {
if (d == 0 || g[d - 1] != a[i]) {
g[d] = a[i];
++d;
}
++i;
++j;
}
}
cout << d << endl;
for (int k = 0; k < d; ++k) {
cout << g[k] << " ";
}
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
727
333
Ý tưởng: dùng cấu trúc dữ liệu set
#include <bits/stdc++.h>
using namespace std;
const int nmax = 1e5;
int main() {
int n, m;
cin >> n >> m;
set<int> c, d;
for (int i = 0; i < n; ++i) {
int a;
cin >> a;
c.insert(a);
}
for (int i = 0; i < m; ++i) {
int a;
cin >> a;
d.insert(a);
}
vector<int> z;
for (const int& t : c) {
if (d.find(t) != d.end()) {
z.push_back(t);
}
}
cout << z.size() << '\n';
for (int t : z) {
cout << t << " ";
}
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin