help
查看原帖
help
1500288
luokq楼主2024/10/9 15:12

30%过了,其他都是WA

#include<iostream>
#include<math.h>
using namespace std;
double fang(int a,double b,int m)
{
	float f=0.0;
	f=pow(a-b/double(m),2);
	return f;
}
int main()
{
	int m,n,i,j,k=0,q=0;
	cin>>m>>n;
	int a[1000][1000],b[1000][1000];
	double x[1000],y[1000];
	for(i=0;i<n;++i)
	{
		for(j=0;j<m;++j)cin>>a[i][j];
	}
	for(i=0;i<n;++i)
	{
		for(j=0;j<m;++j)cin>>b[i][j];
	}
	for(i=0;i<n;++i)
	{
		x[i]=0;y[i]=0;
		for(j=0;j<m;++j){x[i]+=a[i][j];}
		for(j=0;j<m;++j){y[i]+=b[i][j];}
	}
	double c[1000];int d[999000];
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;++j)
		{
			c[i]=0;
			c[i]+=(fang(a[i][j],x[i],m)+fang(b[i][j],y[i],m))/(double)m;
		}
	}
	for(i=0;i<(n-1);)
	{
		for(j=0;j<(n-1);++j)
		{
			if(c[j]>c[j+1]){swap(c[j],c[j+1]);d[q]=j+1;d[q+1]=j+2;q+=2;++k;}			
		}
		--n;
	}
	cout<<k<<endl;
	for(i=0;i<q;i+=2){cout<<d[i]<<"  "<<d[i+1]<<endl;}
	return 0;
}
2024/10/9 15:12
加载中...