Participants 3 题解

题目传送门

题目大意

找出没有参加第 \(1\) 天的比赛,但是参加了第 \(2\) 天的比赛人的 ID。

解题思路

从第一次比赛人员的 ID 中,查找是不是没有有第二次比赛人员的 ID。

如果没有,计数器加一,如果计数器等于第一次比赛人数,就是这个人没有参加第 \(1\) 天的比赛,但是参加了第 \(2\) 天的比赛,符合条件,所以把它存到数组中。

最后输出计数器,再把所有满足条件的数输出,注意没每输出一次要换行。

代码

#include<bits/stdc++.h>
using namespace std;
int n,m,a[3003],b[3003],c[3003],k=0,ans=0;
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	for(int i=1;i<=m;i++)
		cin>>b[i];
	for(int j=1;j<=m;j++){
		int sum=0;
		for(int i=1;i<=n;i++){
			if(b[j]!=a[i]) sum++;
			if(sum==n){
				c[k]=b[j];
				k++;
				ans++;
			}
		}
	}
	cout<<ans<<'\n';
	for(int i=0;i<ans;i++)
		cout<<c[i]<<'\n';
	return 0;
}

注意:\(k\) 从几开始,输出时,\(i\) 就从几开始循环输出。

posted @ 2022-12-25 14:50  Ggsddu_zzy  阅读(8)  评论(0编辑  收藏  举报