社区讨论

80分求助

B3632集合运算 1参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@miyhcaxd
此快照首次捕获于
2025/12/09 19:11
3 个月前
此快照最后确认于
2025/12/12 15:55
3 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;

const int N = 70;

int x, y;
vector<int> a(N), b(N);
set<int > s;

int main() {
	scanf("%d", &x);
	if (x > 0) for (int i = 1; i <= x; i ++) {
		scanf("%d", &a[i]);
		s.insert(a[i]);
	}
	scanf("%d", &y);
	if (y > 0) for (int i = 1; i <= y; i ++) {
		scanf("%d", &b[i]);
		s.insert(b[i]);
	}
	printf("%d\n", x);

	if (x == 0 && y == 0) printf("\n\n");
	else if (x == 0 && y > 0) {
		printf("\n");
		for (int i = 1; i <= y; i ++) printf("%d ", b[i]);
	} else if (x > 0 && y == 0) {
		printf("\n");
		for (int i = 1; i <= x; i ++) printf("%d ", a[i]);
	} else if (x > 0 && y > 0) {
		if (x > y) {
			for (int i = 1; i <= x; i ++) 
				if (find(b.begin(), b.end(), a[i]) != b.end()) printf("%d ", a[i]);
		} else if (x < y) {
			for (int i = 1; i <= y; i ++) 
				if (find(a.begin(), a.end(), b[i]) != a.end()) printf("%d ", b[i]);
		}
		printf("\n");

		for (auto it = s.begin(); it != s.end(); it ++)
			printf("%d ", *it);
	}
	return 0;
}
倒数第二个测试点WA

回复

1 条回复,欢迎继续交流。

正在加载回复...