30pts求助
查看原帖
30pts求助
711031
suyi1111楼主2023/8/8 13:41
#include<bits/stdc++.h>
using namespace std;
int m,n,a[1001][1001],val[1001];
int main()
{
    cin>>m>>n;
	for(int i=1;i<=n;i++){
	    double s=0,aval=0.0;
	    for(int j=1;j<=m;j++){
	        cin>>a[i][j];
	        s+=(double)a[i][j];
	    }
	    s/=(double)m;
	    for(int j=1;j<=m;j++){
			aval+=(a[i][j]-s)*(a[i][j]-s);
		}
		aval/=(double)m;
		val[i]+=aval;
	}
	for(int i=1;i<=n;i++){
		double s=0,aval=0.0;
		for(int j=1;j<=m;j++){
		    cin>>a[i][j];
	        s+=(double)a[i][j];
		}
		s/=(double)m;
		for(int j=1;j<=m;j++){
			aval+=(a[i][j]-s)*(a[i][j]-s);
		}
		aval/=(double)m;
		val[i]+=aval;
    }
    double s[1001];
    for(int I=1;I<=1000;I++)s[I]=val[I];
    int sum=0;
    for(int i=1;i<n;i++){
		for(int j=1;j<=n-i;j++){
			if(s[j]>s[j+1]){
				sum++;
				swap(a[j],a[j+1]);
			}
		}
	}
	cout<<sum<<endl;
	for(int i=1;i<n;i++){
		for(int j=1;j<=n-i;j++){
			if(val[j]>val[j+1]){
				cout<<j<<" "<<j+1<<endl;
				swap(val[j],val[j+1]);
			}
		}
	}
	return 0;
}
2023/8/8 13:41
加载中...