#include <stdio.h>
#define maxn 20
//ep11
int grid[maxn + 5][maxn + 5];
int dir[4][2] = {
{-1, -1}, {-1, 0}, {-1, 1} ,{0, 1}
};
int calc(int x, int y) {
int ans = 0;
for(int k = 0; k < 4; k++) {
int p = 1;
for(int step = 0; step < 4; step++) {
int dx = x + dir[k][0] * step;
int dy = y + dir[k][1] * step;
if(dx < 0 || dx >= maxn) break;
if(dy < 0 || dy >= maxn) break;
p *= grid[dx][dy];
}
if(p > ans) ans = p;
}
return ans;
}
int main() {
int ans = 0;
for (int i = 0; i < maxn; i++)
{
for(int j = 0; j < maxn; j++) {
scanf("%d",&grid[i][j]);
}
}
for (int i = 0; i < maxn; i++)
{
for (int j = 0; j < maxn; j++)
{
int p = calc(i, j);
if(p > ans) {
ans = p;
}
/* code */
}
/* code */
/* code */
}
printf("%d\n", ans);
return 0;
}
C语言方向数组
最新推荐文章于 2022-03-21 22:11:08 发布