您的位置:首页 > 编程语言 > Java开发

蓝桥杯基础试题 兰顿蚂蚁

2016-05-23 13:49 281 查看
import java.util.Scanner;

public class Main {
static int a[][];
static int cur_posi_row;
static int cur_posi_col;
static String _fangxiang="LURD";
static String direct;
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int row=scanner.nextInt();
int col=scanner.nextInt();
a=new int [row][col];
for (int i = 0; i < row ; i++) {
for (int j = 0; j < col ; j++) {
a[i][j]=scanner.nextInt();
}
}
cur_posi_row=scanner.nextInt();
cur_posi_col=scanner.nextInt();
direct=scanner.next();
int step=scanner.nextInt();
for (int i = 0; i < step; i++) {
com(direct);
}
System.out.println(cur_posi_row+" "+cur_posi_col);
}
public static void com(String dir){
int turnwhere=0;
if(a[cur_posi_row][cur_posi_col]==1){ // 1=black 0=white;
turnwhere=_fangxiang.indexOf(dir);
turnwhere=(turnwhere+1)%4;
direct=_fangxiang.charAt(turnwhere)+"";
a[cur_posi_row][cur_posi_col]=0;
switch (turnwhere) {
case 0:
cur_posi_col-=1;
break;
case 1:
cur_posi_row-=1;
break;
case 2:
cur_posi_col+=1;
break;
case 3:
cur_posi_row+=1;
break;
default:
break;
}
}else{
turnwhere=_fangxiang.indexOf(dir);
turnwhere=(turnwhere-1)>=0?turnwhere-1:3;
a[cur_posi_row][cur_posi_col]=1;
direct=_fangxiang.charAt(turnwhere)+"";
switch (turnwhere) {
case 0:
cur_posi_col-=1;
break;
case 1:
cur_posi_row-=1;
break;
case 2:
cur_posi_col+=1;
break;
case 3:
cur_posi_row+=1;
break;
default:
break;
}
}
}
}


com函数模拟的是蚂蚁每走一步的情形,形参是蚂蚁当前的方向字符
题目:http://lx.lanqiao.org/problem.page?gpid=T125
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息