博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Java解决兰顿蚂蚁问题
阅读量:5936 次
发布时间:2019-06-19

本文共 1501 字,大约阅读时间需要 5 分钟。

hot3.png

package com.studyproject.demo1;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main {	public static void main(String[] args) throws IOException {		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));		String mn[] = br.readLine().split(" ");		int m = Integer.parseInt(mn[0]);		int n = Integer.parseInt(mn[1]);		String mnNum[][] = new String[m][n];// 0:白 1:黑		String line[] = null;		for (int i = 0; i < mnNum.length; i++) {			line = br.readLine().split(" ");			for (int j = 0; j < mnNum[i].length; j++) {				mnNum[i][j] = line[j];			}		}		String xysk[] = br.readLine().split(" ");// (x,y)坐标 s:方向 LRUD k:步数		int x = Integer.parseInt(xysk[0]);		int y = Integer.parseInt(xysk[1]);		String s = xysk[2];		int k = Integer.parseInt(xysk[3]);		fun(mnNum, x, y, s, k);	}	// 白色:将该格改为黑格,左转90度,向前移一格	// 黑色:将该格改为白格,右转90度,向前移一格	public static void fun(String[][] mnNum, int x, int y, String s, int k) {		while (k > 0) {			if ("0".equals(mnNum[x][y])) { // 白色				mnNum[x][y] = "1";				switch (s) {				case "L": // 左					s = "D";					if (x
0) { x--; } break; case "U": // 上 s = "L"; if (y>0) { y--; } break; case "D": // 下 s = "R"; if (y
0) { x--; } break; case "R": // 右 s = "D"; if (x
0) { y--; } break; } k--; } } System.out.println(x + "," + y ); }}

转载于:https://my.oschina.net/watsonos/blog/551056

你可能感兴趣的文章
GitLab搭建
查看>>
过程掌握:过程的创立、终止、壅塞、叫醒和切换
查看>>
无线路由器桥接的几种模式
查看>>
笔记六(11.6)
查看>>
MongoDB 配置说明
查看>>
怎么学习大数据?
查看>>
Python多重继承用法
查看>>
html&css题
查看>>
Linux学习之绝对路径与相对路径
查看>>
linux下如何获取命令帮助
查看>>
android:layout_gravity 和 android:gravity 的区别
查看>>
fputcsv 导出excel,解决内存、性能、乱码、科学计数法问题
查看>>
大数据培训后好就业吗?
查看>>
模拟斗地主
查看>>
免费大数据平台有哪些?
查看>>
无缝拼接屏是怎样实现的?有什么特点!
查看>>
Scala隐含参数详解
查看>>
原型模式 java版
查看>>
三叶草
查看>>
Javascript面向对象编程(转)
查看>>