码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 4500 小Q系列故事——屌丝的逆袭

时间:2014-07-08 15:05:26      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:blog   2014   for   io   代码   line   

腾讯的题目,一条简单的搜索题目,适合初学者练习代码能力,或者是高手休息脑子的题,呵呵,不需要动脑了,只动手打代码就过了。

不过腾讯这故事有点坏啊,给人透露了两个信息:

1 腾讯不拘一格降人才

2 进入腾讯就可以屌丝逆袭了

腾讯是不是还想说腾讯的mm特别多?

呵呵,出题不忘给自己宣传一下。


#include <stdio.h>
#include <limits.h>

const int MAX_NM = 20;
int N, M;
int matrix[MAX_NM][MAX_NM];
inline int abs(int a) { return a < 0 ? -a : a; }

inline int getCharm(int i, int j)
{
	int charmVal = 0;
	if (i>0)
	{
		if ((matrix[i-1][j]>>31) ^ (matrix[i][j]>>31))
			charmVal += abs(matrix[i-1][j]);
		else charmVal -= abs(matrix[i-1][j]);
	}
	if (i+1 < N)
	{
		if ((matrix[i+1][j]>>31) ^ (matrix[i][j]>>31))
			charmVal += abs(matrix[i+1][j]);
		else charmVal -= abs(matrix[i+1][j]);
	}
	if (j>0)
	{
		if ((matrix[i][j-1]>>31) ^ (matrix[i][j]>>31))
			charmVal += abs(matrix[i][j-1]);
		else charmVal -= abs(matrix[i][j-1]);
	}
	if (j+1 < M)
	{
		if ((matrix[i][j+1]>>31) ^ (matrix[i][j]>>31))
			charmVal += abs(matrix[i][j+1]);
		else charmVal -= abs(matrix[i][j+1]);
	}
	return charmVal;
}

int main()
{
	while (scanf("%d %d", &N, &M) && N)
	{
		for (int i = 0; i < N; i++)
		{
			for (int j = 0; j < M; j++)
			{
				scanf("%d", &matrix[i][j]);
			}
		}
		int u, v, maxCharm = INT_MIN;
		for (int i = 0; i < N; i++)
		{
			for (int j = 0; j < M; j++)
			{
				int charmVal = getCharm(i, j);
				if (maxCharm < charmVal)
				{
					maxCharm = charmVal;
					u = i, v = j;
				}
			}
		}
		printf("%d %d %d\n", u+1, v+1, maxCharm);
	}
	return 0;
}


HDU 4500 小Q系列故事——屌丝的逆袭,布布扣,bubuko.com

HDU 4500 小Q系列故事——屌丝的逆袭

标签:blog   2014   for   io   代码   line   

原文地址:http://blog.csdn.net/kenden23/article/details/37318261

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!