啥都没用的代码求debug
查看原帖
啥都没用的代码求debug
1420422
Lyzc0dr楼主2025/1/11 19:07
#include <bits/stdc++.h>  
#define ll long long  
#define IOS ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);  
using namespace std;  
int m,n;  
vector<pair<int, int> > swaps;  
struct node {  
    int a,b;  
} arr[1001][1001];  
int a[100010];  
ll calc(int r) {  
    ll _a = 0, _b = 0, _1 = 0, _2 = 0;  
    for(int i=1; i<=m; i++) {  
        _a += arr[r][i].a;  
        _b += arr[r][i].b;  
    }  
    for(int i=1; i<=m; i++) {  
        _1 += (arr[r][i].a - _a/m) * (arr[r][i].a - _a/m);  
        _2 += (arr[r][i].b - _b/m) * (arr[r][i].b - _b/m);  
    }  
    return _1 * 1/m + _2 * 1/m;  
}  
int main() {  
    IOS  
    cin >> m >> n;  
    for(int i=1; i<=n; i++) {  
        for(int j=1; j<=m; j++) {  
            cin >> arr[i][j].a;  
        }  
    }  
    for(int i=1; i<=n; i++) {  
        for(int j=1; j<=m; j++) {  
            cin >> arr[i][j].b;  
        }  
    }  
    for(int i=1; i<=n; i++) {  
        a[i] = calc(i);  
    }  
    for (int i = 1; i <= n; i++) {  
        int maxi = i;  
        for (int j = i; j <= n; j++) {  
            if (a[maxi] < a[j]) {  
                maxi = j;  
            }  
        }  
        if (maxi != i) {  
            swaps.push_back({i, maxi});  
            swap(a[maxi], a[i]);  
        }  
    }  
    cout << swaps.size() << "\n";  
    for (auto &p : swaps) {  
        cout << p.first << " " << p.second << "\n";  
    }  
    return 0;  
}
2025/1/11 19:07
加载中...