CSP 2016_4_4 游戏
来源:互联网 发布:怎么给淘宝供货 编辑:程序博客网 时间:2024/06/14 09:24
import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class Main {int n, m, t;Node [][]map;int [][]start;int [][]end;int[][][]flag;int [][]dir = {{1,0},{-1,0},{0,1},{0,-1}};Queue<Node> que;public static void main(String[] args) {new Main().run();}public void run(){Scanner in = new Scanner(System.in);que = new LinkedList<>();int n = in.nextInt();int m = in.nextInt();int t = in.nextInt();map = new Node[n+1][m+1];for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++ ){map[i][j] = new Node(i, j, 0);}}flag = new int[102][102][305];start = new int[n+1][m+1];end = new int[n+1][m+1];for(int i = 0; i < t; i++ ){int x = in.nextInt();int y = in.nextInt();int a = in.nextInt();int b = in.nextInt();start[x][y] = a;end[x][y] = b;}flag[1][1][0] = 1;que.offer(map[1][1]);while(!que.isEmpty()){Node node = que.poll();if(node.x == n && node.y == m){System.out.println(node.step);break;}for(int i = 0; i < 4; i++ ){int xx = node.x + dir[i][0];int yy = node.y + dir[i][1];int step = node.step + 1;if(step > 300)break;//if(xx == n && yy == m){//System.out.println(step);//tag = 0;//break;//}//if(tag == 0)//break;if(flag[xx][yy][step] == 0 && (xx>0&&yy>0&&xx<=n&&yy<=m)&&(step < start[xx][yy] || step > end[xx][yy])){flag[xx][yy][step] = 1;que.offer(new Node(xx, yy, step));}}}}}class Node{int x, y;int step;public Node(int x, int y, int step){this.x = x;this.y = y;this.step = step;}}
flag三维数组 表示此位置此时刻不能同时被入队
此外:注释的部分不对 也不知道为啥。。。理论上一样的
阅读全文
0 0
- CSP 2016_4_4 游戏
- CCF CSP 游戏 BFS
- CCF CSP 2016年04月第4题 游戏 (BFS)
- CSP-201512-2 消除类游戏
- CCF CSP 201512-2 消除类游戏
- CSP
- CSP
- csp 2016_4_3 路径解析
- ccf csp 2015-12-2 消除类游戏
- CCF CSP试题 201512-2 消除类游戏
- CCF-CSP 游戏 JAVA 201604-4 100分
- (挑战编程_4_4)Longest Nap
- CCF CSP 路径解析(2016-4)
- [CCF-CSP]2016-1(中间数)
- CCF-CSP-2016-12-1 中间数
- CCF-CSP-2016-12-4 压缩编码
- CCF-CSP-2016-4-2 俄罗斯方块
- CCF CSP 2016-04-02 俄罗斯方块
- Javascript模块化编程
- Ubuntu_SSH无密码登录
- C语言基础(二)
- 矩:数学矩-图像矩
- Mybatis的学习(二)
- CSP 2016_4_4 游戏
- Servlet
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- 15算法课程 206. Reverse Linked List
- null不可以toString
- Android开发:最全面、最易懂的Android屏幕适配解决方案
- 【JavaSE_学习笔记】File类
- 原生Android开发—Jar包生成
- CentOS下MySQL忘记root密码解决方法【转载】