WA30求助
查看原帖
WA30求助
733659
鶴守丶葉七楼主2024/7/11 12:09
#include<bits/stdc++.h>
using namespace std;
int n,m,a[1005][1005],b[1005][1005],s,res[1000005][2],ans,mid;
double fa,fb,p,l[1005];
int main(){
    cin>>m>>n;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>b[i][j];
        }
    }
    for(int i=1;i<=n;i++){ //求方差
        s=0;
        fa=0;
        for(int j=1;j<=m;j++){
            s+=a[i][j];
        }
        p=s/m; //平均数
        for(int j=1;j<=m;j++){
            fa+=(a[i][j]-p)*(a[i][j]-p);
        }
        fa=fa/m;
        l[i]=fa;
    }
    for(int i=1;i<=n;i++){
        s=0;
        fb=0;
        for(int j=1;j<=m;j++){
            s+=b[i][j];
        }
        p=s/m;
        for(int j=1;j<=m;j++){
            fb+=(b[i][j]-p)*(b[i][j]-p);
        }
        l[i]+=fb/m;
    }
    ans=0;
    for(int i=1;i<=n;i++){ //排序
        mid=1;
        for(int j=i+1;j<=n;j++){
            if(l[j]<l[mid]){
                mid=j;
            }
        }
        ans+=1;
        res[ans][1]=i;
        res[ans][2]=mid;
        swap(l[i],l[mid]);
    }
    cout<<ans<<endl;
    for(int i=1;i<=ans;i++){
        cout<<res[i][2]<<' '<<res[i][1]<<endl;
    }
    return 0;
}
2024/7/11 12:09
加载中...