travel

懒得写是YOJ2.0的题了,都差不多

摸鱼摸的有点久,这个代码是周六晚上敲的

北方开始变冷了,几乎快跌破0°了

又是一个递归题,感觉递归做的好多

代码如下:

#include<stdio.h>
void ra(int x, int y, int num);
int travel[9][9];
int occ[9][9];
int m, n, max = -1000000;

int main(void)
{
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= n; i++)
        for(int j = 1; j <= m; j++)
            scanf("%d", &travel[i][j]);
    ra(1, 1, 0);
    printf("%d", max);

    return 0;
}
void ra(int x, int y, int num)
{
    occ[x][y] = 1;
    int n_n = num + travel[x][y];
    if(x == n)
        if(y == m) max = (max > n_n) ? max : n_n;
        else ra(x, y + 1, n_n);
    else
    {
        ra(x + 1, y, n_n);
        if(y - 1 > 0 && occ[x][y - 1] != 1) ra(x, y - 1, n_n);
        if(y + 1 <= m && occ[x][y + 1] != 1) ra(x, y + 1, n_n);
    }
    occ[x][y] = 0;
    return;
}

学着别人的代码写了写,是不是简洁许多了呢?

得赶紧在经济学原理上课前试着敲一敲快速幂

bye