我怎么这么菜


私信TA

用户名:xujingcheng

访问量:18145

签 名:

Break Away

等  级
排  名 712
经  验 3889
参赛次数 4
文章发表 44
年  龄 10
在职情况 学生
学  校 NUAA
专  业

  自我简介:

毕业前学一下编程, 嗯! 是这样。

解题思路:

照着题目写就行


参考代码:

#include <iostream>
#include<cstdio>
#include<vector>
#include<cctype>
using namespace std;
int main()
{
    int m,n,bx,by,k,col,row;
    char dir;
    while(scanf("%d %d",&m,&n)!=EOF)
    {
        vector<vector<int> >num(m,vector<int>(n));
        for(int i=0;i<m;++i)
            for(int j=0;j<n;++j)
            scanf("%d ",&num[i][j]);
        scanf("%d %d %c %d",&bx,&by,&dir,&k);
        while(k)
        {
            --k;
            switch(toupper(dir))
            {
               case 'U':
                   {
                    if(num[bx][by]) {dir='R';num[bx][by]=0;++by;}
                    else {dir='L';num[bx][by]=1;--by;}
                    col=bx;row=by;
                    break;
                   }
               case 'D':
                   {
                    if(num[bx][by]) {dir='L';num[bx][by]=0;--by;}
                    else {dir='R';num[bx][by]=1;++by;}
                    col=bx;row=by;
                    break;
                   }
               case 'L':
                   {
                    if(num[bx][by]) {dir='U';num[bx][by]=0;--bx;}
                    else {dir='D';num[bx][by]=1;++bx;}
                    col=bx;row=by;
                    break;
                   }
               case 'R':
                   {
                    if(num[bx][by]) {dir='D';num[bx][by]=0;++bx;}
                    else {dir='U';num[bx][by]=1;--bx;}
                    col=bx;row=by;
                    break;
                   }
            }
        }
        cout<<col<<" "<<row<<endl;
    }
    return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »