diff options
Diffstat (limited to 'euler81.c')
-rw-r--r-- | euler81.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/euler81.c b/euler81.c new file mode 100644 index 0000000..8303800 --- /dev/null +++ b/euler81.c @@ -0,0 +1,28 @@ +#include <stdio.h> + +int main() +{ + int m[80][80]; + + for (int i = 0; i < 80; i++) { + for (int j = 0; j < 80; j++) { + scanf("%d", &m[i][j]); + } + } + + for (int i = 1; i < 80; i++) { + m[0][i] = m[0][i-1] + m[0][i]; + } + + for (int i = 1; i < 80; i++) { + m[i][0] = m[i-1][0] + m[i][0]; + for (int j = 1; j < 80; j++) { + if (m[i-1][j] < m[i][j-1]) + m[i][j] = m[i-1][j] + m[i][j]; + else + m[i][j] = m[i][j-1] + m[i][j]; + } + } + + printf("%d\n", m[79][79]); +} |