poj 3050 dfs(暴力)
来源:互联网 发布:怎样辨别淘宝评论真假 编辑:程序博客网 时间:2024/06/07 03:42
Hopscotch
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 4259 Accepted: 2848
Description
The cows play the child’s game of hopscotch in a non-traditional way. Instead of a linear set of numbered boxes into which to hop, the cows create a 5x5 rectilinear grid of digits parallel to the x and y axes.
They then adroitly hop onto any digit in the grid and hop forward, backward, right, or left (never diagonally) to another digit in the grid. They hop again (same rules) to a digit (potentially a digit already visited).
With a total of five intra-grid hops, their hops create a six-digit integer (which might have leading zeroes like 000201).
Determine the count of the number of distinct integers that can be created in this manner.
Input
Lines 1..5: The grid, five integers per line
OutputLine 1: The number of distinct integers that can be constructed
Sample Input
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 2 1
1 1 1 1 1
Sample Output
15
分析:可以对每个格子做深度优先遍历,构造出所有数字,但要注意不要重复计数。在这里,我使用了map来保存已构造出的数字,结果就是map中的元素个数。
java ac代码
import java.util.HashMap;import java.util.Map;import java.util.Scanner;public class Main { /** * @param args */ static int e[][]=new int[5][5]; static Map<Integer,Integer> map=new HashMap<Integer,Integer>(); static int dx[] = {-1, 1, 0, 0}; static int dy[] = {0, 0, -1, 1}; public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ e[i][j]=scan.nextInt(); } } for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ dfs(i,j,1,e[i][j]); } } System.out.println(map.size()); } private static void dfs(int x, int y, int k, int num) { // TODO Auto-generated method stub if(k==6){ if(!map.containsKey(num)){//注意判断数字是否重复 map.put(num, 0); return ; } return ; } for(int i=0;i<4;i++){ int nx=x+dx[i]; int ny=y+dy[i]; if(nx>=0&&ny>=0&&nx<5&&ny<5){ k++; dfs(nx,ny,k,num*10+e[nx][ny]); k--; } } }}
- poj 3050 dfs(暴力)
- poj 3050 Hopscotch 【DFS 暴力】
- poj 3050 Hopscotch(暴力dfs)
- POJ 3050 Hopscotch(dfs,暴力搜索)
- poj 3050 Hopscotch(dfs暴力)
- poj-1691-暴力DFS
- poj 2718 暴力dfs
- poj 3050 Hopscotch DFS+暴力搜索+set容器
- poj 2531 暴力dfs
- poj 3009 dfs暴力解决最短路
- POJ 1753 Flip Game(暴力+DFS)
- poj 1321 棋盘问题 dfs暴力
- poj 1166 The Clocks (暴力|| dfs)
- POJ 1753Flip Game(暴力+Dfs)
- POJ 1222 EXTENDED LIGHTS OUT【暴力dfs】
- POJ 1753 Flip Game (DFS 太暴力了!)
- POJ 1321 棋盘问题(暴力dfs or DP)
- 1321 Poj 棋盘问题(类似N皇后--暴力DFS)
- 单片机字库建立
- 二叉树的路径和
- 算法笔记--二分/三分
- Varnish基础原理及简单配置
- PHP网络爬虫之CURL学习
- poj 3050 dfs(暴力)
- 最大流问题
- Python+Tornado+Nginx服务器部署解决方案
- Java数组相关,输入数字比大小,从小到大输出数组的值
- 数字货币开发专题(区块链概念是如何形成的)
- 几张图带你认识杭州的租房现状
- 背包问题
- 《面试》之LINUX常用命令
- MySQL基础