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