题目背景
disangan233 喜欢数数,于是他想让你帮他回答一个问题。
题目描述
传智专修学院提供 A,B 两个课程,分别有 n,m 个学生报名。报名 A 的学生的编号为an,报名 B 的学生的编号为 bm,求有多少个学生同时报名了两个课程。
对于所有数据n,m,ai,bi≤20,保证每个课程报名的学生编号不会重复。
输入格式
输入共 33 行。
第 11 行输入 22 个正整数 n,m。
第 22 行输入 n 个正整数 a1…an,表示报名课程 A 的学生编号。
第 33 行输入 m 个正整数 b1…bm,表示报名课程 B 的学生编号。
学生编号不保证从小到大排序。
输出格式
输出共 11 行 11 个整数,表示答案。
输入输出样例
输入
5 5 1 2 3 4 5 1 3 4 5 6
输出
4
说明/提示
样例解释
我们发现,1,3,4,51,3,4,5 这 44 名学生同时报名了两门课程,所以答案是 44。
#include <iostream>
using namespace std;
int main(){
int n,m,w,sum=0;
int a[21]={0},b[20]={0};
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>w;
a[w]++;
}
for(int i=0;i<m;i++){
cin>>w;
b[w]++;
}
for(int i=0;i<=20;i++){
if(a[i]!=0&&b[i]!=0)
sum++;
}
cout<<sum<<endl;
return 0;
}