当前位置: 首页 > 工具软件 > Medusa > 使用案例 >

洛谷 P1571 眼红的Medusa 题解

郎伟兆
2023-12-01

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;
}

AC记录

好的,这道题就到这里吧!拜拜,我们下期再见!
(有错请及时提醒,谢谢)

最后:如果没错,请随手留个赞,谢谢QwQ

 类似资料: