30分求调
查看原帖
30分求调
1320188
wangmingruiakioi楼主2025/7/1 10:50
#include<bits/stdc++.h>
using namespace std;
int a[1005][1005],b[1005][1005],n,m,K,x[1005],y[1005];
double f[1005],avea[1005],aveb[1005],vara[1005],varb[1005];
int main(){
    scanf("%d%d",&m,&n);
    for(int i=1;i<=n;++i){
        for(int j=1;j<=m;++j){
            scanf("%d",&a[i][j]);
            avea[i]+=a[i][j];
        }
        avea[i]/=m;
    }
    for(int i=1;i<=n;++i){
        for(int j=1;j<=m;++j){
            scanf("%d",&b[i][j]);
            aveb[i]+=b[i][j];
        }
        aveb[i]/=m;
    }
    for(int i=1;i<=n;++i){
        for(int j=1;j<=m;++j){
            vara[i]+=(a[i][j]-avea[i])*(a[i][j]-avea[i]);
            varb[i]+=(b[i][j]-aveb[i])*(b[i][j]-aveb[i]);
        }
        f[i]=(vara[i]+varb[i])/m;
    }
    for(int j=1;j<n;++j){
        for(int i=1;i<n;++i){
            if(f[i]>f[i+1]){
                ++K;
                swap(f[i],f[i+1]);
                x[K]=i,y[K]=i+1;
            }
        }
    }
    printf("%d\n",K);
    for(int i=1;i<=K;++i){
        printf("%d %d\n",x[i],y[i]);
    }
}

WA:4~10,kk 过大

2025/7/1 10:50
加载中...