递归之小游戏
来源:互联网 发布:mac版fps游戏 编辑:程序博客网 时间:2024/06/06 01:41
首先声明:这是一道错解,现在还在算法刚开始学习的阶段,好多东西搞不通透,代码也没有垒出来,先记录一下,以后再去改正
package Recursion;import java.util.Scanner;public class MiniGame {public static char [][]board;public static int n;public static int m;public static int minStep=100000;public static boolean [][]flag;public static int [][]dirction= {{0,1},{1,0},{0,-1},{-1,0}};public static void main(String args[]) {Scanner scan=new Scanner(System.in);String []ss=scan.nextLine().split(" ");n=Integer.parseInt(ss[0]);m=Integer.parseInt(ss[1]);board=new char[n+2][m+2];//用来记录棋盘上对应的位置是不是有效位置flag=new boolean[n+2][m+2];//把棋盘边上的一圈全部赋上空字符for(int i=0;i<n+2;i++) {for(int j=0;j<m+2;j++) {if(i==0||j==0||i==n-1||j==m-1)board[i][j]=' ';}}//将棋盘上卡片的状态保存到board数组中for(int i=1;i<=n;i++) {String s=scan.nextLine();for(int j=0;j<m;j++) {char c=s.charAt(j);board[i][j+1]=c;}}for(int i=0;i<n+2;i++) {for(int j=0;j<m+2;j++)System.out.print(board[i][j]+" ");System.out.println();}String []sss=scan.nextLine().split(" ");int x1=Integer.parseInt(sss[0]);int y1=Integer.parseInt(sss[1]);int x2=Integer.parseInt(sss[2]);int y2=Integer.parseInt(sss[3]);minStep=search(x1,y1,x2,y2,0,-1);if(minStep<100000)System.out.println(minStep);elseSystem.out.println("impossible");}public static int search(int begin_x,int begin_y,int end_x,int end_y,int step,int dir) {//先确定终止条件//已知步骤比已有步骤还要长if(step>minStep)return minStep;//到达了目的地,看是否能够更新步骤数if(begin_x==end_x&&begin_y==end_y&&board[begin_x][begin_y]=='x') {if(step<minStep) {minStep=step;}return minStep;}for(int i=0;i<4;i++) {int x=begin_x+dirction[i][0];int y=begin_y+dirction[i][1];if(x>-1&&x<n+2&&y>-1&&y<m+2&&board[x][y]==' '&&flag[x][y]==false) {flag[x][y]=true;if(dir==i) {search(x,y,end_x,end_y,step,i);}else {search(x,y,end_x,end_y,step+1,i);}flag[x][y]=false;}}return step;}}
阅读全文
0 0
- 递归之小游戏
- 递归--小游戏
- Java小游戏之控制台小游戏
- 连连看小游戏,递归问题
- 北大 算法 2.2 递归 小游戏
- 递归---案例(小游戏poj1101)
- 小游戏系列算法之四扫雷游戏核心算法,非递归无雷区自动翻开
- 网页小游戏之2048
- unity之小游戏
- unity学习之小游戏
- C#小游戏之扫雷
- iOS之关灯小游戏
- iOS之拼图小游戏
- 控制台小游戏之五子棋
- 控制台小游戏之俄罗斯方块
- 小游戏之扫雷
- HTML5小游戏之五子棋
- java之小游戏
- struts1 使用说明
- org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springfr
- Integer.valueOf和Integer.parseInt及new Integer()的区别
- csdn如何转载别人的文章
- 多项式的猜想
- 递归之小游戏
- S3C2440移植u-boot之配置开发环境
- Struts2页面资源路径修改后还是不改变,Ctrl+shift+delete浏览器缓存删除即可。
- 第三节 hive之元数据
- 选择排序(直接选择排序,堆排序)
- Leetcode#66. Plus One &&Add Binary (大数)
- 【数据结构笔记】二叉树的基本操作
- java发送url的一种方法,使用 HttpClient来实现
- 2017ICPC北京赛区网络赛 G Bounce(GCD,找规律)