50分求助
查看原帖
50分求助
1236488
JIIING楼主2024/6/28 21:35
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[1008][1008],b[1008][1008];
double k[10086],tot1[10086],tot2[10086],sqr[10086],sqr2[10086]; 
int wx[10086],wy[10086];
int main()
{
	cin>>m>>n;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			cin>>a[i][j],tot1[i]+=(double)a[i][j];
			
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			cin>>b[i][j],tot2[i]+=(double)b[i][j];
		
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=m;j++)
			{
				sqr[i]+=((double)a[i][j]-tot1[i]/m)*((double)a[i][j]-tot1[i]/m);
				sqr2[i]+=((double)b[i][j]-tot2[i]/m)*((double)b[i][j]-tot2[i]/m);
			
			}
			
			sqr[i]/=m;
			sqr2[i]/=m;
			k[i]=(double)sqr[i]+(double)sqr2[i];
			
		}	
		
		int cnt=0;
		
		for(int i=1;i<=n-1;i++)
		{
			for(int j=i+1;j<=n;j++)
			{
				if(k[i]>k[j])
				{
					cnt++;
					swap(k[i],k[j]);
					wx[cnt]=i;
					wy[cnt]=j;
				}
			}	
		}
		cout<<endl;
		cout<<cnt<<endl;
		for(int i=1;i<=cnt;i++)
		{
			cout<<wx[i]<<" "<<wy[i]<<endl;
		}
	return 0;
}
2024/6/28 21:35
加载中...