程序员实习生


私信TA

用户名:qq1213988904

访问量:506

签 名:

冲冲冲!!!!!

等  级
排  名 23520
经  验 634
参赛次数 1
文章发表 4
年  龄 20
在职情况 学生
学  校 河南工程学院
专  业 软件工程

  自我简介:

TA的其他文章

1197: 发工资咯
浏览:95

思路:

这道题比较简单,只要搞清楚x,y的坐标是从哪里开始的,并且明白蚂蚁在不同格子内的朝向带来的x,y的变化,就容易许多,我的应该并不是最优解。

 

#include<iostream>

using namespace std;

int main(){

int n,m;

cin>>m>>n;

int x,y,k,x_,y_;

char S;

int a[m][n];

for(int i=0;i<m;i++)

for(int j=0;j<n;j++)

cin>>a[i][j];

cin>>x>>y>>S>>k;

for(int i=0;i<k;i++){

if(a[x][y]==0){//对白格子分析

x_=x;

y_=y; //定义x_,y_存放原始位置以便于修改颜色值

if(S=='U'){

S='L';

y--;

}else if(S=='L'){

S='D';

x++;

}else if(S=='D'){

S='R';

y++;

}else{

S='U';

x--;

}

a[x_][y_]=1;

}

else if(a[x][y]==1){//对黑格子分析

x_=x;

y_=y;

if(S=='U'){

S='R';

y++;

}else if(S=='L'){

S='U';

x--;

}else if(S=='D'){

S='L';

y--;

}else{

S='D';

x++;

}

a[x_][y_]=0;

}

}

cout<<x<<" "<<y<<endl;

return 0;


 

0.0分

0 人评分

  评论区

  • «
  • »