比赛 2024.5.23练习赛 评测结果 WWWWWWWWWW
题目名称 Rotate Columns 最终得分 0
用户昵称 liuyiche 运行时间 0.117 s
代码语言 C++ 内存使用 3.05 MiB
提交时间 2024-05-23 20:44:15
显示代码纯文本
    #include <bits/stdc++.h>
     
    using namespace std;
    
    typedef long long ll;
    
    int t;
    int n, m;
    int a[5][105];
    struct node
    {
        int w, x, y;
    };
    vector<node> v;
    
    inline bool cmp(node a, node b)
    {
        return a.w > b.w;
    }
    
    int main()
    {
        freopen("happygameT1.in","r",stdin);
        freopen("happygameT1.out","w",stdout);
     
        ios::sync_with_stdio(false);
        cin.tie(0);  cout.tie(0);
     
        cin >> t;
        while(t--)
        {
            cin >> n >> m;
            for(int i = 1; i <= n; ++i)
                for(int j = 1; j <= m; ++j)
                {
                    cin >> a[i][j];
                    node tmp;
                    tmp.w = a[i][j], tmp.x = i, tmp.y = j;
                    v.push_back(tmp);
                }
            sort(v.begin(),v.end(),cmp);
            int ans = 0;
            if(n < 4)
            {
                for(int i = 0; i < n; ++i)
                    ans += v[i].w;
            }
            else
            {
                bool flag = true;
                if(v[0].y == v[1].y && v[2].y == v[3].y && v[0].y != v[2].y)
                    if(abs(v[0].x-v[1].x)%2 != abs(v[2].x-v[3].x)%2)
                        flag = false;
                else if(v[0].y == v[2].y && v[1].y == v[3].y && v[0].y != v[1].y)
                    if(abs(v[0].x-v[2].x)%2 != abs(v[1].x-v[3].x)%2)
                        flag = false;
                else if(v[0].y == v[3].y && v[1].y == v[2].y && v[0].y != v[1].y)
                    if(abs(v[0].x-v[3].x)%2 != abs(v[1].x-v[2].x)%2)
                        flag = false;
                if(flag == true)
                    ans = v[0].w+v[1].w+v[2].w+v[3].w;
                else
                    ans = v[0].w+v[1].w+v[2].w+v[4].w;
            }
            cout << ans << '\n';
        }
            
        
     
        return 0;
    }