本文主要是介绍PIPI OJ 1273: 三个有序数组的交集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
菜鸟生成记(74)
每周一水
这道早就写过了,一直卡着(以前蒻羁不会STL),这一下痛快了
1273: 三个有序数组的交集
#include<bits/stdc++.h>
using namespace std;
map<int,int>s1,s2,s3;
int main()
{int a,b,c,x;cin>>a>>b>>c;//1<=a,b,c<=1e5; int max1=0;//三个数组元素的范围不确定,题上没说范围,用数组标记运行错误//数组元素中肯定有大于int的,所以用数组就为爆栈//STL set或map标记(1e5的数据范围,每个元素查找次数不会超过17次) for(int i=0;i<a;i++){cin>>x;s1[x]++;//标记 max1=max(max1,x);//找到最大值 }for(int i=0;i<b;i++){cin>>x;s2[x]++;max1=max(max1,x);}for(int i=0;i<c;i++){cin>>x;s3[x]++;max1=max(max1,x);}for(int i=0;i<=max1;i++)if(s3.count(i)&&s1.count(i)&&s2.count(i))//查看是否在三个容器同时出现 cout<<i<<" ";return 0;
}
这篇关于PIPI OJ 1273: 三个有序数组的交集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!