关于暴力(的很啊)!
查看原帖
关于暴力(的很啊)!
376481
Carrot_Rui楼主2020/12/6 08:36

这题用暴力怎么写啊,或者用二分怎么写:

我的代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
#define MAXN 100005
using namespace std;
int m,n,a[MAXN],x[MAXN];
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
		scanf("%d",a+i);

	sort(a+1,a+1+n);
	for(int i=1;i<=n;i++)
		x[i] += a[i]+m;
        
	int ans=0;//A=B+c 
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(j!=i&&a[i]==x[j]){
				ans++;
			}
		}
	}
	printf("%d",ans);
	return 0;
}

第二次:

#include<iostream>
#include<cstdio>
#include<cmath>
#define MAXN 1000005 
using namespace std;

int n,m,a[MAXN];

int main()
{
	scanf("%d%d",&n,&m);
	
	for(int i=1;i<=n;i++)
	 scanf("%d",a+i);
	 
	 int ans=0;
	
	for(int i=1;i<n;i++){
		for(int j=i+1;j<=n;j++){
			if(abs(a[i]-a[j])==m){
			//	printf("a[%d]-a[%d]=%d\n",i,j,m);
				ans++;
			}
		}
	}
	
	cout<<ans<<endl;
	return 0;
}

感觉没有什么质的改变;(所以该怎么写呢??)

——来自小盆友的问号。

2020/12/6 08:36
加载中...