404 错误(无法找到页面)- 计蒜客 https://nanti.jisuanke.com/t/T3110%E7%9C%8B%E8%A7%81%E8%BF%99%E9%A2%98%E6%B2%A1%E5%95%A5%E6%80%9D%E8%B7%AF%EF%BC%8C%E6%98%AF%E8%A6%81%E9%81%8D%E5%8E%86%E5%90%97%EF%BC%9B
不要去网上复制代码,但可以给我看看别人的文章;
给思路加程序优先采纳
二分法(已修正):每一局对所有数排序以后枚举第一个数,二分查找是不是有满足条件的第二个数即可,这里可以直接使用binary_search。
#include<bits/stdc++.h>
using namespace std;
int n,m,a[10001],ans;
int main()
{
cin>>n>>m;
for(int j=1;j<=n;++j)
{
for(int i=1;i<=n;++i)
{
cin>>a[i];
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++)
if(binary_search(a+i+1,a+n+1,m-a[i]))
{
ans++;
break;
}
}
cout<<ans;
return 0;
}
每一局对所有数排序以后枚举第一个数,二分查找是不是有满足条件的第二个数即可,这里可以直接使用binary_search。
这种题么肯定binary——search啊
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[1005],n,x,cnt=0;
cin>>n>>x;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>a[j];
}
sort(a,a+n);
for(int j=0;j<n;j++){
if(binary_search(a+j+1,a+n,x-a[j])){
cnt++;
break;
}
}
}
cout<<cnt<<endl;
return 0;
}
哈哈哈哈我好了