hdu3368 Reversi
来源:互联网 发布:戴尔面部识别软件 编辑:程序博客网 时间:2024/06/06 04:33
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3368
代码如下 :
#include<cstdio>#include<string>char map[9][9];int f[9][9];int maxs;int dir[8][2]={-1,-1,-1,0,0,-1,-1,1,1,-1,1,0,0,1,1,1};bool isval(int x,int y){if(x<0||y<0||x>=8||y>=8)return false;return true;}void dfs(int x,int y,int c,int d){int i,j;if(map[x][y]=='*'){// maxs=maxs>c-1? maxs:c-1;f[x][y]+=c-1;}else{if(d==8){for(i=0;i<8;i++){int tx=x+dir[i][0];int ty=y+dir[i][1];if(isval(tx,ty))if(map[tx][ty]=='L')dfs(tx,ty,c+1,i);}}else{int tx=x+dir[d][0];int ty=y+dir[d][1];if(isval(tx,ty))if(map[tx][ty]=='L'||(c>0&&map[tx][ty]=='*'))dfs(tx,ty,c+1,d);}}}int main(){int n;scanf("%d",&n);int k;for(k=0;k<n;k++){int i,j;if(k)getchar();for(i=0;i<8;i++){getchar();for(j=0;j<8;j++){scanf("%c",&map[i][j]);}}maxs=0;memset(f,0,sizeof(f));for(i=0;i<8;i++)for(j=0;j<8;j++)if(map[i][j]=='D')dfs(i,j,0,8);for(i=0;i<8;i++)for(j=0;j<8;j++)maxs=(maxs<f[i][j] ? f[i][j]: maxs);printf("Case %d: %d\n",k+1,maxs);}return 0;}
- hdu3368 Reversi
- HDU3368 Reversi
- HDU3368-Reversi
- Reversi
- hdu3368之DFS
- HDU 3368 Reversi
- hdu 3368 Reversi
- HDU 3368 Reversi
- HDU 3368 Reversi
- HDU 3368——Reversi
- HDU:3368-Reversi(暴力枚举)
- HDU 3368 Reversi (简单dfs)
- Hdu 3368 Reversi(暴力)
- 606第三周周六赛 D - Reversi
- 利用Visual C#实现Reversi游戏开发(1)
- 利用Visual C#实现Reversi游戏开发(2)
- reversi-cli - 跟风做的一个黑白棋小游戏
- STL学习笔记之 (二)容器 vector
- IOS学习笔记15——SQLite数据库
- 2012-7-24 周二 总结
- UML关系(泛化,实现,依赖,关联(聚合,组合))
- 一致性哈希算法详解
- hdu3368 Reversi
- usaco 4.2 Drainage Ditches(最大流入门题)
- C++矩阵处理工具——Eigen
- plist文件,Property List 文件
- 做教育,不仅仅是传授一门知识,更重要的是传授一份爱
- HDU 2899 三分查找
- 迭代器之Adapters(STL)
- 记录下Butterfly似Bug非Bug的特性
- android usb挂载分析---MountService启动