大家都来找不同c++

这是一个编程挑战,要求从两个给定的非负整数数组A和B中,删除它们共有的数字并按原顺序输出各自特有的数字。程序通过遍历数组检查重复项来实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Background

Special for beginners, ^_^

Description

大志在他买的一本书上遇到一个问题:

给定两个非负整数数组 A和 B,本题要求你挑除 A、B中都有的数字,输出各自特有的数字。要求按输入顺序先输出 A,再输出 B。

他现在想考考你,你能做出来吗?

Format

Input

共三行,第一行两个数 n,m表示数组 A,B的数字个数1≤n,m≤100。

第二行, n个非负整数,为数组A,一个数可能会出现多次,每个数不超过 105。

第三行, m个非负整数,为数组B,一个数可能会出现多次,每个数不超过 105。

输入保证A,B一定会有不同的数字。

Output

一行,先输出数组 A剩余的数字, 再输出数组B剩余的数字。

Samples

輸入資料 1

4 4
1 5 4 1
2 8 1 6 

輸出資料 1

5 4 2 8 6

Limitation

1s, 1024KiB for each test case.

code

#include<cstdio>
using namespace std;
int main()
{
	int n,m,a[10005],b[10005];
	scanf("%d", &n);
	scanf("%d", &m);
	for(int i = 1; i <= n; i++)
	{
		scanf("%d", &a[i]);
	}
	for(int i = 1; i <= m; i++)
	{
		scanf("%d", &b[i]);
	}
	for(int i = 1; i <= n; i++)
	{
		int time = 0;
		for(int j = 1; j <= m; j++)
		{
			if(a[i] == b[j])
			{
				time++; 
			}
		}
		if(time == 0)
		{
			printf("%d ", a[i]);
		}
	}
	for(int i = 1; i <= m; i++)
	{
		int time = 0;
		for(int j = 1; j <= n; j++)
		{
			if(b[i] == a[j])
			{
				time++;
			}
		} 
		if(time == 0)
		{
			printf("%d ",b[i]);
		}
	}
	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值