HDU 4500 小Q系列故事——屌丝的逆袭
Posted wzjhoutai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 4500 小Q系列故事——屌丝的逆袭相关的知识,希望对你有一定的参考价值。
腾讯的题目,一条简单的搜索题目。适合刚開始学习的人练习代码能力。或者是高手歇息脑子的题。呵呵,不须要动脑了,仅仅动手打代码就过了。
只是腾讯这故事有点坏啊。给人透露了两个信息:
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系列故事——屌丝的逆袭的主要内容,如果未能解决你的问题,请参考以下文章