洛谷题解P1571 眼红的Medusa

原题传送门

0.前言 一些奇奇怪怪的算法...
1.思路
第一眼看题的时候,感觉是一道红题 数据范围否定了我暴力的想法

但是还是有方法可以高效快速的解决 map

2.代码

#include<iostream>
#include<cstdio>
#include<map> 
using namespace std;
map<int,bool> mapn;
inline void read(int &x){
	int f=1;
	char ch=getchar();
	x=0;
	while(ch<'0'||ch>'9'){
		if(ch=='-') f=-1;
		ch=getchar(); 
	}
	while(ch>='0'&&ch<='9'){
		x=x*10+ch-'0';
		ch=getchar();
	}
	x*=f;
}
int n,m;
int nn[100001],mm[100001];
int main(){
	read(n);read(m);
	for(int i=1;i<=n;i++) read(nn[i]);
	for(int i=1;i<=m;i++){
		read(mm[i]);
		mapn[mm[i]]=true;      //标记
	}
	for(int i=1;i<=n;i++){
		if(mapn[nn[i]]) printf("%d ",nn[i]);      //只要有标记就输出
	}
	return 0;
} 
posted @ 2020-09-22 17:46  _pwl  阅读(466)  评论(0)    收藏  举报
1 2 3
4