题目链接:11 Largest product in a grid
题意:
给一个20 * 20的网格,求相邻的最大乘积, 同一行,同一列,同一条斜线上
解题思路:
模拟
#include <iostream>
using namespace std;
int g[25][25];
int main() {
int n = 20, ans = 0;
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
cin >> g[i][j];
}
}
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
if(j < 17) {
ans = max(ans, g[i][j] * g[i][j+1] * g[i][j+2] * g[i][j+3]);
}
if(i < 17) {
ans = max(ans, g[i][j]*g[i+1][j]*g[i+2][j]*g[i+3][j]);
}
if(i < 17 && j < 17) {
ans = max(ans, g[i][j] * g[i+1][j+1] * g[i+2][j+2] * g[i+3][j+3]);
}
if(i < 17 && j >= 3) {
ans = max(ans, g[i][j] * g[i+1][j-1] * g[i+2][j-2] * g[i+3][j-3]);
}
}
}
cout << ans << endl;
return 0;
}
Answer:70600674