zoukankan      html  css  js  c++  java
  • UVA 825 Walking on the Safe Side(重做)

    这道题改天重新做一下:

    高人的代码:

    #include<stdio.h>
    #include<string.h>
    #include<ctype.h>
    #define MAXD 1010
    char b[10010];
    int N, M, G[MAXD][MAXD], f[MAXD][MAXD];
    void solve()
    {
    int i, j, k;
    gets(b);
    sscanf(b, "%d%d", &N, &M);
    memset(G, 0, sizeof(G));
    for(i = 1; i <= N; i ++)
    {
    gets(b);
    for(j = 0; isdigit(b[j]); j ++);
    while(b[j])
    {
    if(isdigit(b[j]))
    {
    sscanf(b + j, "%d", &k);
    G[i][k] = 1;
    while(isdigit(b[j]))
    j ++;
    }
    else
    j ++;
    }
    }
    for(i = 0; i <= N; i ++)
    f[i][0] = 0;
    for(i = 0; i <= M; i ++)
    f[0][i] = 0;
    f[1][0] = 1;
    for(i = 1; i <= N; i ++)
    for(j = 1; j <= M; j ++)
    {
    f[i][j] = 0;
    if(!G[i][j])
    {
    f[i][j] += f[i - 1][j];
    f[i][j] += f[i][j - 1];
    }
    printf("i=%d j=%d f[i][j]=%d\n",i,j,f[i][j]);
    }
    printf("%d\n", f[N][M]);
    }
    int main()
    {
    int t;
    gets(b);
    sscanf(b, "%d", &t);
    while(t)
    {
    gets(b);
    solve();
    if(-- t)
    printf("\n");
    }
    return 0;
    }

    我的代码:(wrong answer)

    #include<stdio.h>
    #include<string.h>
    #define MAXN 10110
    int cros[MAXN][MAXN], f[MAXN][MAXN];
    char scros[MAXN][2*MAXN];
    int n, W, N, num;
    void dp(int i, int j)
    {
    printf("i=%d j=%d num=%d\n",i, j, num);
    if(i==W&&j==N) {num ++; return;}
    if((cros[i][j+1] != -1) && j+1<=N)
    dp(i,j+1);
    if(cros[i+1][j] != -1 && i+1<=W)
    dp(i+1,j);
    }
    void input()
    {
    scanf("%d",&n);
    while(n --)
    {
    scanf("%d%d", &W, &N);
    getchar();
    for(int i = 1; i <= W; i ++)
    {
    for(int j = 1; j <= N; j ++)
    {cros[i][j] = 0;}
    }
    for(int i = 1; i <= W; i ++)
    {
    gets(scros[i]);
    int len = strlen(scros[i]);
    for(int j = 0; j < len; j ++)
    {
    int t = 0;
    if(scros[i][j] == ' '&& scros[i][j+1] <= '9'&&scros[i][j+1] >= '0')
    {
    sscanf(scros[i]+j+1,"%d",&t);
    cros[i][t] = -1;
    }
    }
    }
    num = 0;
    //mset(f,0,sizeof(f));
    dp(1,1);
    printf("%d\n",num);
    puts("");
    }
    }
    int main()
    {
    input();
    return 0;
    }





  • 相关阅读:
    团队项目-个人博客-4.25
    团队项目-个人博客-4.24 学习进度08
    评价使用的输入法
    个人工作总结08
    个人工作总结07
    第八周学习进度条
    个人工作总结06
    构建之法阅读笔记04
    个人工作总结05
    个人工作总结04
  • 原文地址:https://www.cnblogs.com/yuzhaoxin/p/2414271.html
Copyright © 2011-2022 走看看