zoukankan      html  css  js  c++  java
  • UVa 825 Walking on the Safe Side

    假期放松,做几道小题……

    这道题的输入比较不同:每行输入的数的个数是不确定的,所以要使用gets和sscanf();

    开始想偷懒,看了看Stainger大牛的输入也是这样,就没啥可说了,麻烦些就麻烦些;

    状态转移比较明显,递推可以解决,感觉这道题与其说是dp的,不如说是用来练习输入的;

    1WA,原因是最后一组输出后不要留空行(留换行);

    使用了 OIer 常用的写法:把程序每一部分独立起来,确实是方便了调试(在递推时 i 没有初始化,找了很久,最后一块一块注释,发现的)。

    # include <stdio.h>
    # include <string.h>
    
    # define N 105
    
    int row, col, f[N][N];
    char t[N], map[N][N];
    
    void read(void);
    void process(void);
    
    int main()
    {
        int T;
    
        gets(t);
        sscanf(t, "%d", &T);
        while (T--)
        {
            read();
            process();
            if (T != 0) putchar('\n');
        }
    
        return 0;
    }
    
    void read(void)
    {
        int i, j, x, k;
    
        gets(t);
        gets(t);
        sscanf(t, "%d%d", &row, &col);
        for (i = 1; i <= row; ++i)
        {
            for (j = 1; j <= col; ++j)
                map[i][j] = 0;
    
            gets(t);
            k = 0;
            while (t[k] && t[k]==' ') ++k;
            while (t[k] && t[k]!=' ') ++k;
            while (t[k] && t[k]==' ') ++k;
            while (t[k])
            {
                sscanf(t+k, "%d", &x);
                map[i][x] = 1;
                while (t[k] && t[k]==' ') ++k;
                while (t[k] && t[k]!=' ') ++k;
            }
        }
    }
    
    void process(void)
    {
        int i, j;
    
        f[1][1] = 1;
        for (j = 2; j <= col; ++j)
        {
            if (map[1][j]) f[1][j] = 0;
            else f[1][j] = f[1][j-1];
        }
    
        for (i = 2; i <= row; ++i)
        {
            if (map[i][1]) f[i][1] = 0;
            else f[i][1] = f[i-1][1];
            for (j = 2; j <= col; ++j)
            {
                if (map[i][j]) f[i][j] = 0;
                else f[i][j] = f[i-1][j] + f[i][j-1];
            }
        }
    
        printf("%d\n", f[row][col]);
    }
  • 相关阅读:
    对数值计算numpy的一些总结,感兴趣的朋友可以看看
    mysql基础语法(部分)
    python_内建结构
    07_go语言基础
    06_go语言基础
    05_go语言基础常量
    04_go语言基础
    03_go语言基础
    02_go语言基础
    01_go语言基础
  • 原文地址:https://www.cnblogs.com/JMDWQ/p/2476769.html
Copyright © 2011-2022 走看看