Codeforces Round #683 (Div. 2, by Meet IT)B - Numbers Box

Posted 尘封陌路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #683 (Div. 2, by Meet IT)B - Numbers Box相关的知识,希望对你有一定的参考价值。

题目链接:
https://codeforces.com/problemset/problem/1447/B

**

思路:

**

既然要使答案结果最大,那么就是要让矩阵中的数尽可能的是正数。
很明显的可以推出来,如果二维数组中<=0的数的个数为偶数,那么答案就是数组的绝对值的总和,如果是奇数,那么让数组中最小的数变成负,其他都是整数。

AC代码:

#include<bits/stdc++.h>
using namespace std;
const int N=15;
int a[N][N];
int t,m,n;

int main()

		cin>>t;
		while(t--)
		
			cin>>n>>m;
			int res=0;
			int minx=0x3f3f3f3f;
			for(int i=1;i<=n;i++)
			
				for(int j=1;j<=m;j++)
				
						int x;
						cin>>x;
						minx=min(minx,abs(x));
						if(x<=0) res++;
						a[i][j]=abs(x);
				
				 	
			
			int sum=0;
			
				for(int i=1;i<=n;i++)
				
					for(int j=1;j<=m;j++) sum+=a[i][j];
				
			if(res%2==0)	cout<<sum<<endl;
			else cout<<sum-2*minx<<endl;
			
		
		return 0;	
  

以上是关于Codeforces Round #683 (Div. 2, by Meet IT)B - Numbers Box的主要内容,如果未能解决你的问题,请参考以下文章

[ACM]Codeforces Round #534 (Div. 2)

Codeforces Round #726 (Div. 2) B. Bad Boy(贪心)

Codeforces Global Round 19

Codeforces Educational Codeforces Round 67

Codeforces Round 1132Educational Round 61

codeforces Technocup 2017 - Elimination Round 2/Codeforces Round #380 (Div. 2, Rated, Based on Techn