hello~ 你们好,你们的Loony lovegood回来啦!
今天loony给你们带来的题是洛谷 P1571 眼红的Medusa
做题之前先多嘴问一句:这个Medusa是男是女?
好,我们废话不多说,下面开始做题~!
解题思路
1.此题是模拟+排序+二分查找的题
2.可以使用库函数binary_search()也可以.(binary_search是专门用来二分查找的函数,返回的是布尔值,这道题用上此函数恰到好处)还不会此函数的小伙伴戳这里
本题基本思路是:
1.科技创新奖是数组a
2.特殊贡献奖是数组b
先给数组b排序(用快排函数sort即可).
sort(b,b+m);//调用sort函数
然后循环数组a,使用binary_search函数在b数组里找a[i].找到后输出
for(int i=0;i<n;i++)//循环a数组
{
if(binary_search(b,b+m,a[i]))//调用binary_search函数,如果找到就输出
{
cout<<a[i]<<" ";//输出
}
}
代码部分
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
int a[100001];
int b[100001];
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<m;i++){
cin>>b[i];
}
sort(b,b+m);
for(int i=0;i<n;i++){
if(binary_search(b,b+m,a[i])){
cout<<a[i]<<" ";
}
}
return 0;
}
好的,这道题就到这里吧!拜拜,我们下期再见!
(有错请及时提醒,谢谢)
最后:如果没错,请随手留个赞,谢谢QwQ