poj3050
#include <stdio.h>
#include <set>
#include <string>
using namespace std;
int a[6];
int b[6];
int c[100000000]; //注意是重点,你定义的数字必须的比你的num大,要不会报错的
int h=0;
int grid[5][5]; //输入的网格
int go[4][2] =
{
0, 1,
0, -1,
1, 0,
-1, 0
}; //四个方向
int safe(int y,int x)
{
int r=1;
if (x< 0 || x >= 5 || y < 0 || y >= 5)
{
r=0;
}
return r;
}
//深度搜索
void dfs(int row, int col, int step)
{
if (step == 6) //满6个,存到set里
{
int num=0;
int flag=1;
for(int i=0;i<6;i++)
b[i]=a[i];
num=b[0]+b[1]*10+b[2]*100+b[3]*1000+b[4]*10000+b[5]*100000;
for(int i=0;i<h;i++)
{
if(num==c[i])
flag=0;
}
if(flag==0)
return ;
if(flag==1)
{
c[h++]=num;
}
return ;
}
for (int i = 0; i < 4; i++) //4个方向深度搜索
{
//越界判断
if (safe(row,col))
{
a[step]=grid[row][col];
int tr = row + go[i][0];
int tc = col + go[i][1];
dfs(tr, tc, step + 1);
}
}
}
int main()
{
//输入
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
scanf("%d", &grid[i][j]);
//处理
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
dfs(i, j, 0);
}
}
printf("%d\n",h);
return 0;
}
poj3050的更多相关文章
- 《挑战程序设计竞赛》2.1 穷竭搜索 POJ2718 POJ3187 POJ3050 AOJ0525
POJ2718 Smallest Difference Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6509 Acce ...
- 对比poj3050
#include <stdio.h> const int MAXN = 10; const int dir[4][2] = { {-1, 0}, {1, 0}, {0, -1}, {0, ...
- POJ3050 Hopscotch 【DFS】
Hopscotch Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2113 Accepted: 1514 Descrip ...
- 【搜索】POJ-3050 基础DFS
一.题目 Description The cows play the child's game of hopscotch in a non-traditional way. Instead of a ...
- POJ3050 -- Hopscotch 简单的dfs搜索
原题链接:http://poj.org/problem?id=3050 (一些文字过会儿再说现在有事儿) #include <cstdio> #include <set> us ...
- POJ-3050
Hopscotch Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4385 Accepted: 2924 Descrip ...
- poj3050【dfs】
题意: 5*5的矩阵里,某个点能够上下左右走,走5步,然后路径会形成一个串,问你,这个5*5里面能够形成多少个不同个串. 思路: 直接暴搜,然后对于一个串塞到set里去,然后输出set里的个数就好了 ...
- poj3050 Hopscotch
思路: 水题. 实现: #include <iostream> #include <cstdio> #include <set> using namespace s ...
- 【POJ - 3050】Hopscotch (dfs+回溯)
-->Hopscotch 这接写中文了 Descriptions: 奶牛们以一种独特的方式玩孩子们的跳房子游戏. 奶牛们创造了一个5x5的格子 他们熟练地跳上其中的一个格子,可以前后左右地跳(不 ...
随机推荐
- [zz]Lessons from Pixar: Why Software Developers Should Be Storytellers
http://firstround.com/article/lessons-from-pixar-why-software-developers-should-be-story-tellers Whe ...
- redis shell命令大全
redis shell命令大全(转自http://blog.mkfree.com/posts/5105432f975ad0eb7d135964) 作者:oyhk 2013-1-28 3:11:35 ...
- Bugtags 与其它产品的区别
如果您刚刚接触 Bugtags,可能心里会有这样的疑问,下面将介绍 Bugtags 与其它的一些产品的区别. Bugtags 不是做统计的 SDK 大家都会在 App 里集成用户数据统计的 SDK,但 ...
- sysbench压力测试工具简介和使用(一)
sysbench压力测试工具安装和参数介绍 一.sysbench压力测试工具简介: sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据 ...
- 112、两个Activity切换黑屏问题
<activity android:name=".main.select.ActDoyenActivity" android:screenOrientation=" ...
- DestroyWindow函数注意事项
最近遇到这样一个问题:将一个窗口句柄以参数的形式传递给一个线程,在线程中使用完之后要将窗口销毁,调用DestroyWindow销毁窗口是返回false,GetLastError的结果为5:拒绝访问,而 ...
- git patch
http://www.cnblogs.com/y041039/articles/2411600.html
- winform画图闪烁问题
问题:在winform程序的onpaint方法中画图, 连续画, 如鼠标移动时就要不断画图, 会闪烁. 解决方法:将要画图的部分放到一个自定义控件中, 自定义控件的onpaint方法里面画图, 然后再 ...
- 正则表达式(转自https://segmentfault.com/a/1190000000699097)
https://segmentfault.com/a/1190000000699097
- json(http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html)
http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html