2891: 练61.3 文体两开花
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
学校迎来评选活动,有 $n$ 名学生被评为文学优秀奖,$m$ 名学生被评为体育优秀奖。现已知两个奖项获奖同学的编号,每个同学都有唯一的编号。只有同时被评为文学优秀奖和体育优秀奖的学生才能文体两开花,请你帮忙统计一下文体两开花的同学名单。
输入
第一行两个整数$n$,$m$ ($1≤n,m≤10^5$),分别表示文学优秀奖和体育优秀奖的获奖人数。
第二行 $n$ 个不同的整数,表示获得文学优秀奖的同学编号。
第二行 $m$ 个不同的整数,表示获得体育优秀奖的同学编号。
所有编号为正整数且不超过 $10^9$。
第二行 $n$ 个不同的整数,表示获得文学优秀奖的同学编号。
第二行 $m$ 个不同的整数,表示获得体育优秀奖的同学编号。
所有编号为正整数且不超过 $10^9$。
输出
一行若干个空格分隔的整数,表示文体两开花的同学编号,按文学优秀奖的先后次序输出。
样例输入 复制
4 4
5 1 7 3
2 3 4 1
样例输出 复制
1 3
提示
#include<bits/stdc++.h> using namespace std; map<int,bool> vis; int n,m,x,a[100005]; int main(){ cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=m;i++){ cin>>x; vis[x]=1; } for(int i=1;i<=n;i++){ if(vis[a[i]]) cout<<a[i]<<' '; } return 0; }