POJ3050Hopscotch【dfs 暴搜水题】
来源:互联网 发布:无锡源石数据招聘骗局 编辑:程序博客网 时间:2024/05/22 16:40
Language:
Hopscotch
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2566 Accepted: 1826
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.
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.
111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, and 212121 can be constructed. No other values are possible.
Source
USACO 2005 November Bronze
#include<cstdio>#include<cstdlib>#include<cstring>#include<queue>using namespace std;int map[6][6];int vis[10000010];int mov[][2]={0,1,0,-1,1,0,-1,0};int ans;void dfs(int x,int y,int k,int n){if(k==6){if(!vis[n]){vis[n]=1;ans++;}return ;} for(int i=0;i<4;++i){int xx=x+mov[i][0];int yy=y+mov[i][1];if(xx>=0&&xx<5&&yy>=0&&yy<5){dfs(xx,yy,k+1,n*10+map[xx][yy]);}}}int main(){int i,j;for(i=0;i<5;++i){for(j=0;j<5;++j){scanf("%d",&map[i][j]);}}memset(vis,0,sizeof(vis));ans=0;for(i=0;i<5;++i){for(j=0;j<5;++j){dfs(i,j,0,map[0][0]);}}dfs(0,0,0,map[0][0]);printf("%d\n",ans);return 0;}
0 0
- POJ3050Hopscotch【dfs 暴搜水题】
- DFS
- DFS
- dfs
- dfs
- dfs
- dfs
- DFS
- DFS
- dfs
- DFS
- DFS
- DFS
- dfs
- DFS
- dfs
- dfs
- dfs
- 【VR】Leap Motion 官网文档 LeapRecorder (Leap记录器)
- hdu 1465 不容易系列之一(递推。错排公式)
- Supesite配置错误
- 软件测试、ios中的测试概念以及步骤
- Mysql动态打开日志 show profiles详细信息
- POJ3050Hopscotch【dfs 暴搜水题】
- HDU 1863 畅通工程 (克鲁斯卡尔—最小生成树)
- hdu 3309 Roll The Cube(bfs)
- java学习之数组(二)
- HTML5入门-2
- Ubuntu下忘记MySQL root密码解决方法
- 克鲁斯卡尔求最小生成树
- poj 3171 rmq+dp
- JS写一个函数输出今天的日期