diff options
author | Iru Cai <mytbk920423@gmail.com> | 2018-05-24 21:39:58 +0800 |
---|---|---|
committer | Iru Cai <mytbk920423@gmail.com> | 2018-05-24 21:39:58 +0800 |
commit | 1eefd58ca4fdb5d2f51f657bfd70c9a89a4707db (patch) | |
tree | abde0e4da3c7fe138f3874a94d8eb7d0e44c3224 /euler11.c | |
download | project_euler-1eefd58ca4fdb5d2f51f657bfd70c9a89a4707db.tar.xz |
initial commit
Diffstat (limited to 'euler11.c')
-rw-r--r-- | euler11.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/euler11.c b/euler11.c new file mode 100644 index 0000000..ea43b48 --- /dev/null +++ b/euler11.c @@ -0,0 +1,46 @@ +#include <stdio.h> +#define MAX 20 + +int grid[MAX][MAX]; +int biggest[MAX][MAX]; + +int main() +{ + int i,j,M=0; + for (i=0;i<MAX;++i){ + for (j=0;j<MAX;++j){ + scanf("%d",&grid[i][j]); + } + } + for (i=0;i<MAX;++i){ + for (j=0;j<MAX;++j){ + int p; + biggest[i][j]=0; + if (i<MAX-3){ + p = grid[i][j]*grid[i+1][j]*grid[i+2][j]*grid[i+3][j]; + } + if (j<MAX-3){ + p = grid[i][j]*grid[i][j+1]*grid[i][j+2]*grid[i][j+3]; + if (p>biggest[i][j]) + biggest[i][j]=p; + if (i<MAX-3){ + p = grid[i][j]*grid[i+1][j+1]* + grid[i+2][j+2]*grid[i+3][j+3]; + if (p>biggest[i][j]) + biggest[i][j]=p; + } + if (i>=3){ + p = grid[i][j]*grid[i-1][j+1]* + grid[i-2][j+2]*grid[i-3][j+3]; + if (p>biggest[i][j]) + biggest[i][j]=p; + } + } + if (biggest[i][j]>M) + M=biggest[i][j]; + } + } + printf("%d\n",M); + return 0; +} + |