hdu3316 Mine sweeping--DFS
来源:互联网 发布:mac 连不上appstore 编辑:程序博客网 时间:2024/06/15 09:12
原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=3316
一:分析
一开始没看清题目意思,看了别人的代码才明白,直接看代码吧,很简单,是水题。二:AC代码
#define _CRT_SECURE_NO_DEPRECATE #include <string>#include <iostream>#include <queue>using namespace std;int dir[8][2] = { { -1,0 },{ -1,1 },{ 0,1 },{ 1,1 },{ 1,0 },{ 1,-1 },{ 0,-1 },{ -1,-1 } };char ch[110][110];int num[110][110];int sx, sy;int n;int judge(int x, int y){int sum = 0;for (int i = 0; i < 8; i++)if (ch[x + dir[i][0]][y + dir[i][1]] == 'X')sum++;return sum;}void dfs(int x,int y){if (x < 0 || x >= n || y < 0 || y >= n)return;if (num[x][y] != -1)return;num[x][y] = judge(x, y);if (num[x][y] == 0){for (int i = 0; i < 8; i++)dfs(x + dir[i][0], y + dir[i][1]);}}int main(){while (~scanf("%d", &n)){memset(num, -1, sizeof(num));for (int i = 0; i < n; i++)scanf("%s", ch[i]);scanf("%d%d", &sx, &sy);if (ch[sx][sy] == 'X')printf("it is a beiju!\n\n");else{dfs(sx, sy);for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){if (num[i][j] == -1)printf(".");elseprintf("%d", num[i][j]);}printf("\n");}printf("\n");}}return 0;}
1 0
- hdu3316 Mine sweeping--DFS
- Mine Sweeping Game
- HDU 3316 Mine sweeping
- 南邮 OJ 1149 Mine sweeping
- HZAU 1002 Mine Sweeping Game
- hdu3316
- hdu 3316 Mine sweeping(迷宫)
- hdu 3316 Mine sweeping(BFS)
- NZAU-C-Mine Sweeping Game
- Problem C: Mine Sweeping Game (华中农业预赛)
- DFS——The Mine
- SDUT 2410 Mine Number DFS+回溯 (扫雷)
- MINE
- MINE
- mine
- Mine
- fast sweeping method
- Mine Sweeper
- 从指南针到动手搭建自己的第一台计算机
- 【机器学习】朴素贝叶斯分类器
- 简明python地址簿
- 水塘抽样(Reservoir Sampling)问题
- 每日一省之————字符串排序算法(包括低位优先、高位优先、三向快速排序)
- hdu3316 Mine sweeping--DFS
- android注解框架ButterKnife学习
- Scala Option(选项)
- 前向算法(Forward Algorithm)
- 前端模块化
- Hibernate学习笔记----检索策略
- 图书信息管理系统
- hdu5707Combine String(Dynamic_programme)
- 大话数据结构 -- 第八章 查找