博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 3050 Hopscotch(暴力+dfs)
阅读量:4708 次
发布时间:2019-06-10

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

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

Output

* Line 1: The number of distinct integers that can be constructed

Sample Input

1 1 1 1 11 1 1 1 11 1 1 1 11 1 1 2 11 1 1 1 1

Sample Output

15

Hint

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次,问最后能得到多少个不同的六位数。
思路:从数组的不同点进行dfs,当搜了6次且此时ans的bool值为0,把其变为1,tmp++,打印最后tmp的值。
AC代码:
1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 using namespace std; 8 bool mp[1000000]; 9 int a[5][5],t[4][2]= { { 1,0},{-1,0},{ 0,1},{ 0,-1}};10 int ans;11 int tmp;12 void dfs(int x,int y,int dep)13 {14 int tx,ty;15 ans=ans*10+a[x][y];16 if(dep==6)17 {18 if(!mp[ans])19 {20 mp[ans]=1;21 tmp++;22 }23 return ;24 }25 for(int i=0; i<4; i++)26 {27 tx=x+t[i][0],ty=y+t[i][1];28 if(tx<0||ty<0||tx>=5||ty>=5)29 continue;30 else31 {32 dfs(tx,ty,dep+1);33 ans=ans/10;34 }35 }36 }37 int main()38 {39 for(int i=0; i<5; i++)40 for(int j=0; j<5; j++)41 scanf("%d",&a[i][j]);42 tmp=0;43 for(int i=0; i<5; i++)44 for(int j=0; j<5; j++)45 {46 ans=0;47 dfs(i,j,1);48 }49 printf("%d\n",tmp);50 return 0;51 }
View Code

 

转载于:https://www.cnblogs.com/wang-ya-wei/p/6212863.html

你可能感兴趣的文章
xCode中怎样保存自己的代码块
查看>>
AABB包围盒、OBB包围盒、包围球的比較
查看>>
Jquery获取select选中的option的文本信息
查看>>
XP的定时关机命令?
查看>>
Android开发技术周报 Issue#22
查看>>
201521123023《Java程序设计》第6周学习总结
查看>>
会话状态在此上下文中不可用HttpModule中无法访问Session原因
查看>>
从大一到大四英语怎么说
查看>>
某地小区,疑因喷泉漏电,殃及三个小孩子被电死
查看>>
HTML--使用下拉列表框,节省空间
查看>>
vue案例todolist备忘录
查看>>
mybatis缓存
查看>>
Eclipse下启动安卓应用错误:Failed to initialize Monitor Thread: Unable to establish loopback connection...
查看>>
第五章:基础构建模块——java并发编程实战
查看>>
Ubuntu Mysql开通外网访问权限
查看>>
javascript判断是否按回车键
查看>>
201671010135 《面向对象程序设计课程学习进度条》
查看>>
input 框改变 placeholder里面的字体颜色 (控制placeholder里面的元素) 去掉点击select出现的边框...
查看>>
tornado nginx supervisor
查看>>
Hadoop入门(3)--Hadoop生态和版本
查看>>