题目
题解思路
找规律可以知道任意两个点是可以传递正负关系的,
所以我们只要知道负数的奇偶,偶数时直接全正,奇数时需要寻找一个绝对值最小的数来抵消一个负号。
AC代码
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int main ()
{
int t;
cin>>t;
while(t--)
{
int n,m,sum = 0 ,p1 = 0 ,p2 = 0 , p3 = 101;
cin>>n>>m;
for (int i = 1 ; i <= n ; i++ )
{
for (int k = 1 ; k <= m ; k++ )
{
int t;
cin>>t;
sum += abs(t);
if ( t < 0 )
p1++;
else
p2++;
if ( abs(t) < abs(p3))
{
p3 = t;
}
}
}
if ( p1 % 2 != 0 )
{
if (p3 < 0 )
sum += 2*p3;
else
sum -= 2*p3 ;
}
cout<<sum<<"\n";
}
return 0;
}