poj Hopscotch (搜索)
来源:互联网 发布:ubuntu tftp server 编辑:程序博客网 时间:2024/04/28 21:07
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.
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.
* Lines 1..5: The grid, five integers per line
* Line 1: The number of distinct integers that can be constructed
1 1 1 1 11 1 1 1 11 1 1 1 11 1 1 2 11 1 1 1 1
15
OUTPUT DETAILS:
111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, and 212121 can be constructed. No other values are possible.
给出一个 5*5 的方格,每个格子里有一个数字。从任意一个格子出发,可以跳向上下左右四个方向的其他格子,也可以从其他格子再跳回原地。跳6次,就可以构造出一个6位数,求所构成的不同的6位数的个数。
#include <iostream>#include <cstdio>#include <algorithm>#define MAX 1000000using namespace std;int sum,w,h,dir[4][2]={{1,0},{0,1},{-1,0},{0,-1}};//dir是用来表示给你下一个可选择走的方向int n, map[5][5];int tag[MAX];int DFS(int x,int y,int ans,int val){ int xx,yy; if(ans==6) { tag[n++]=val; return 0; } val=val*10+map[x][y]; for(int i=0;i<4;++i) { xx=x+dir[i][0],yy=y+dir[i][1]; if(xx>=0&&xx<5&&yy>=0&&yy<5) DFS(xx,yy,ans+1,val); }}int main(){ n=0; int sum=1; for(int i=0;i<5;++i) for(int j=0;j<5;++j) cin>>map[i][j]; for(int i=0;i<5;++i) for(int j=0;j<5;++j) DFS(i,j,0,0); sort(tag,tag+n); for(int i=1;i<n;++i) if(tag[i]!=tag[i-1]) sum++; cout<<sum<<endl; return 0;}
阅读全文
0 0
- poj Hopscotch (搜索)
- Hopscotch(POJ, 穷竭搜索)
- poj 3258 River Hopscotch(二分搜索)
- POJ 3258 River Hopscotch (二分搜索)
- poj 3258 River Hopscotch(二分搜索)
- POJ: River Hopscotch(二分搜索)
- POJ 3050 Hopscotch (穷竭搜索)
- POJ 3050(Hopscotch 穷竭搜索)
- POJ - 3258 River Hopscotch(二分搜索:最大化最小值)
- POJ-3050 Hopscotch(穷竭搜索,DFS,回溯法)
- POJ Hopscotch (DFS)
- Hopscotch.(POJ-3050)
- POJ 3258 River Hopscotch 二分搜索
- poj 3258 River Hopscotch 二分搜索
- poj 3050 Hopscotch【搜索、去重】
- POJ 3258 - River Hopscotch(二分搜索)
- River Hopscotch (poj 3258 二分搜索)
- poj 3258 River Hopscotch 二分搜索
- 粘包问题
- 深度学习:稀疏自编码MATLAB
- 使用注解@StringDef替代枚举-以切换环境为例
- crash Log- 解析IOS崩溃日志
- web.xml相关配置
- poj Hopscotch (搜索)
- IDEA can not resolve property key
- mongodb 复制集合和数据库
- 【算法】二分查找递归实现
- 2017.11.26
- 一套实用的渗透测试岗位面试题
- 6-4 二叉树求深度和叶子数(20 分)
- ubuntu中vi编辑器键盘错乱的问题
- 文章标题