题目大意
找出没有参加第 \(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\) 就从几开始循环输出。
标签:输出,比赛,int,题解,计数器,Participants,3003,pakencamp,ID From: https://www.cnblogs.com/zzyblog0619/p/17004028.html