比赛 |
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;
}