poj 3050 dfs + set的妙用
来源:互联网 发布:完美假期周晨曦淘宝店 编辑:程序博客网 时间:2024/06/10 20:45
题意:
给一个5x5的矩阵,求由多少个由连续6个元素组成的不一样的字符的个数。
解析:
dfs + set去重搞定。
代码:
#include <iostream>#include <cstdio>#include <set>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <queue>#include <map>#include <climits>#include <cassert>#define LL long longusing namespace std;const int maxn = 300 + 10;const int inf = 0x3f3f3f3f;const double eps = 1e-8;const double pi = acos(-1.0);const double ee = exp(1.0);int dir[][2] = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};set<int> ans;int g[10][10];void dfs(int x, int y, int sum, int dep){ if (dep == 6) { ans.insert(sum); return; } for (int i = 0; i < 4; i++) { int nx = x + dir[i][0]; int ny = y + dir[i][1]; if (1 <= nx && nx <= 5 && 1 <= ny && ny <= 5) { dfs(nx, ny, sum * 10 + g[x][y], dep + 1); } } return;}int main(){#ifdef LOCAL freopen("in.txt", "r", stdin);#endif // LOCAL ans.clear(); for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) { scanf("%d", &g[i][j]); } } for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) { dfs(i, j, 0, 0); } } printf("%d\n", ans.size()); return 0;}
0 0
- poj 3050 dfs + set的妙用
- 【POJ 3050 Hopscotch】+ DFS + set
- POJ NO.3050 Hopscotch(DFS,set)
- POJ 3050:Hopscotch(dfs + set容器)
- poj 3050 dfs+set判重
- POJ 3050 枚举+dfs+set判重
- POJ:3050 Hopscotch(DFS+set)
- [POJ](3050)Hopscotch---- 裸dfs+set容器
- hdu 1540 set的妙用
- UESTC 1061 SET的妙用
- poj 3050 Hopscotch DFS+暴力搜索+set容器
- 双向BFS。双向DFS的妙用。
- raphael js 中set 的妙用
- poj 3258河石(二分的妙用)
- poj 3050 Hopscotch DFS
- POJ 3050 Hopscotch DFS
- poj 3050 Hopscotch 【DFS】
- Hopscotch (poj 3050 dfs)
- 当推荐算法开源包多如牛毛,为什么我们还要专门的推荐算法工程师
- 一次性获取多条记录,String类型转为long类型
- 一个不同光照采集的图像网址
- Qt 5.4.2 Linux环境搭建
- 64位win7系统的VS2010生成C#执行exe无法在32位机器运行的解决办法
- poj 3050 dfs + set的妙用
- PostgreSql9 查看数据库相关信息
- 程序员面试宝典 10- 面向对象
- Java 中的Sychronized关键字 和线程
- 嵌套矩形问题
- Leetcode[96]-Unique Binary Search Trees
- java.lang.IllegalStateException: getOutputStream() has already
- 算法导论——初初见面
- 方差分析的基本概念