laolin2333


私信TA

用户名:laolin2333

访问量:8181

签 名:

前路漫漫

等  级
排  名 2354
经  验 2250
参赛次数 3
文章发表 6
年  龄 0
在职情况 学生
学  校 华师大
专  业 挖掘机

  自我简介:

解题思路:
蠢方法:所有情况都写一个判断,但是很简单明了

注意事项:





参考代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(void)
{
    int m,n,x,y,k,i,j;
    int ant[102][102],count1=0;
    char s;

    memset(ant,0,sizeof(ant));
    scanf("%d %d",&m,&n);
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        {
            scanf("%d",&ant[i][j]);
        }
    }
    scanf("%d %d %c %d",&x,&y,&s,&k);

    while(1)
    {
        if(ant[x][y]==0&&s=='U')
        {
            ant[x][y] = 1;
            s = 'L';
            y-=1;
            count1++;
            if(count1==k)
                break;
        }
        if(ant[x][y]==0&&s=='L')
        {
            ant[x][y] = 1;
            s = 'D';
            x+=1;
            count1++;
            if(count1==k)
                break;
        }
        if(ant[x][y]==0&&s=='D')
        {
            ant[x][y] = 1;
            s = 'R';
            y+=1;
            count1++;
            if(count1==k)
                break;
        }
        if(ant[x][y]==0&&s=='R')
        {
            ant[x][y] = 1;
            s = 'U';
            x-=1;
            count1++;
            if(count1==k)
                break;
        }
        if(ant[x][y]==1&&s=='U')
        {
            ant[x][y] = 0;
            s = 'R';
            y+=1;
            count1++;
            if(count1==k)
                break;
        }
        if(ant[x][y]==1&&s=='L')
        {
            ant[x][y] = 0;
            s = 'U';
            x-=1;
            count1++;
            if(count1==k)
                break;
        }
        if(ant[x][y]==1&&s=='D')
        {
            ant[x][y] = 0;
            s = 'L';
            y-=1;
            count1++;
            if(count1==k)
                break;
        }
        if(ant[x][y]==1&&s=='R')
        {
            ant[x][y] = 0;
            s = 'D';
            x+=1;
            count1++;
            if(count1==k)
                break;
        }
    }
    printf("%d %d\n",x,y);
    return 0;
}


    

 

0.0分

4 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区

明白了
2018-03-31 10:04:36
蚂蚁在黑格中头向下,为什么转完之后头向左了呢
2018-03-31 09:50:38
  • «
  • 1
  • »