211 - The Domino Effect(暴力)
来源:互联网 发布:淘宝美沙酮暗语 编辑:程序博客网 时间:2024/05/21 16:23
很水的暴力,直接暴就行,连剪枝都不需要 。 紫书上描述的很少,只看紫书肯定觉得不知所云,建议大家读读原文 , 看好输入输出格式,明白了题目意思就很好做了 。
大致的意思就是如果相邻的两个数字可以出现上面的组合就能换成对应的骨牌,但是要注意,任意答案中只能出现2个骨牌的值相同,所以加个数组判重就行了。
细节参见代码:
#include<bits/stdc++.h>using namespace std;int kase = 0,vis[10][10],a[10][10],cnt,ans,cur[10][10],val[10][10],v[10][10];int dx[] = {0,1};int dy[] = {1,0};void in() { int cnt = 1; for(int i=0;i<=6;i++) for(int j=i;j<=6;j++) val[i][j] = val[j][i] = cnt++;}void init() { memset(v,0,sizeof(v)); memset(vis,0,sizeof(vis)); for(int i=2;i<=8;i++) scanf("%d",&a[1][i]); for(int i=2;i<=7;i++) for(int j=1;j<=8;j++) scanf("%d",&a[i][j]); if(kase) printf("\n\n\n"); printf("Layout #%d:\n\n",++kase); for(int i=1;i<=7;i++) { for(int j=1;j<=8;j++) printf("%4d",a[i][j]); printf("\n"); } printf("\nMaps resulting from layout #%d are:\n\n",kase);}void dfs(int r,int c,int t) { if(t == 28) { ans ++; for(int i=1;i<=7;i++){ for(int j=1;j<=8;j++) printf("%4d",cur[i][j]); printf("\n"); } printf("\n"); return ; } if(c > 8) { c = 1; r++; } if(vis[r][c]) { dfs(r,c+1,t); return ; } for(int i = 0 ; i < 2; ++i) { int x = r + dx[i]; int y = c + dy[i]; if(x > 7 || y > 8 ) continue; if(!vis[x][y]&&!v[a[r][c]][a[x][y]]) { vis[r][c] = vis[x][y] = 1; cur[r][c] = cur[x][y] = v[a[r][c]][a[x][y]] = v[a[x][y]][a[r][c]] = val[a[r][c]][a[x][y]]; dfs(r,c+1,t+1) ; vis[r][c] = vis[x][y] = v[a[r][c]][a[x][y]] = v[a[x][y]][a[r][c]] = 0; } } return ;}int main() { in(); while(~scanf("%d",&a[1][1])) { ans = 0; init(); dfs(1,1,0); printf("There are %d solution(s) for layout #%d.\n",ans,kase); } return 0;}
1 0
- 211 - The Domino Effect(暴力)
- uva-211-The Domino Effect
- UVA 211 The Domino Effect
- UVA 211 The Domino Effect
- uva 211 The Domino Effect
- UVA 211 - The Domino Effect(dfs+剪枝)
- UVa 211 - The Domino Effect(枚举+回溯)
- uva 211 - The Domino Effect(DFS)
- UVa 211 - The Domino Effect (DFS)
- UVa 211 - The Domino Effect [DFS剪枝]
- UVA 211(p215)----The Domino Effect
- UVA 211 The Domino Effect 【搜索】
- UVa211 - The Domino Effect
- The Domino Effect (UVA
- The Domino Effect UVA
- The Domino Effect UVA
- UVa211 - The Domino Effect(DFS)
- Domino Effect(dijkstra)
- 操作系统——进程与线程
- 怎么在线把pdf文件合并
- c++ 抽象类
- 类
- 日经社説 20150812 安全最優先し原発再稼働を着実に
- 211 - The Domino Effect(暴力)
- Android—友盟统计收集错误和在线统计
- iOS webView的一些用法
- java注解的强大
- 数据库事务隔离级别
- 使用Spark ALS实现协同过滤
- HDU 1016 素数环
- 扫描二维码&集合排序
- leetcode_Integer to Roman