软比特的贝尔


私信TA

用户名:JacksonJiang

访问量:5283

签 名:

等  级
排  名 18144
经  验 754
参赛次数 0
文章发表 11
年  龄 0
在职情况 学生
学  校 重庆邮电大学
专  业

  自我简介:

解题思路:

       提高题中较容易的题,需要考虑的情况不多。

       本题是列举了所有可能的情况

注意事项:

参考代码:

#include <stdio.h>
#include <stdlib.h>
#define N 100
int main()
{
    int m,n;
    int i,j;
    int ch[N][N];
    int x,y,k;
    char s;
    int w;
    printf("Input m,n:(3< m,n <100)\n");
    scanf("%d%d",&m,&n);
    while(n<=3||m<=3||n>=100||m>=100)
    {
        scanf("%d%d",&m,&n);
    }
    printf("Input chart:\n");
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&ch[i][j]);
        }
    }
    printf("Input the state at the begaining:\n");
    scanf("%d%d %c%d",&x,&y,&s,&k);
    for(w=0;w<k;w++)
    {
        if(x<0||y<0||x>=m||y>=n)     //考虑错误情况
        {
            printf("Wrong!\n");
            break;
        }
        if(s=='U'&&ch[x][y]==1)
        {
            s='R';
            ch[x][y]=0;
            y=y+1;
            continue;
        }
        if(s=='U'&&ch[x][y]==0)
        {
            s='L';
            ch[x][y]=1;
            y=y-1;
            continue;
        }
        if(s=='D'&&ch[x][y]==1)
        {
            s='L';
            ch[x][y]=0;
            y=y-1;
            continue;
        }
        if(s=='D'&&ch[x][y]==0)
        {
            s='R';
            ch[x][y]=1;
            y=y+1;
            continue;
        }
        if(s=='L'&&ch[x][y]==1)
        {
            s='U';
            ch[x][y]=0;
            x=x-1;
            continue;
        }
        if(s=='L'&&ch[x][y]==0)
        {
            s='D';
            ch[x][y]=1;
            x=x+1;
            continue;
        }
        if(s=='R'&&ch[x][y]==1)
        {
            s='D';
            ch[x][y]=0;
            x=x+1;
            continue;
        }
        if(s=='R'&&ch[x][y]==0)
        {
            s='U';
            ch[x][y]=1;
            x=x-1;
            continue;
        }
    }
    printf("The final state:\n");
    printf("%d %d",x,y);
    return 0;
}

 

0.0分

0 人评分

  评论区

  • «
  • »