广度优先搜索-炸弹人问题
来源:互联网 发布:百锐腾app软件 编辑:程序博客网 时间:2024/05/06 15:36
#include <stdio.h>struct node{int x;int y;};char map[20][20] = {{"#############"},{"#GG.GGG#GGG.#"},{"###.#G#G#G#G#"},{"#.......#..G#"},{"#G#.###.#G#G#"},{"#GG.GGG.#.GG#"},{"#G#.#G#.#.#.#"},{"##G...G.....#"},{"#G#.#G###.#G#"},{"#...G#GGG.GG#"},{"#G#.#G#G#.#G#"},{"#...G#GGG.GG#"},{"#G#.#G#G#.#G#"},{"#GG.GGG#G.GG#"},{"#############"}};int getnum(int i, int j){int sum = 0; int x, y;//向上x = i;y = j;while (map[x][y] != '#'){if (map[x][y] == 'G'){sum++;}x--;}//向下x = i;y = j;while (map[x][y] != '#'){if (map[x][y] == 'G'){sum++;}x++;}//向左x = i;y = j;while (map[x][y] != '#'){if (map[x][y] == 'G'){sum++;}y--;}//向下x = i;y = j;while (map[x][y] != '#'){if (map[x][y] == 'G'){sum++;}y++;}return sum;}int main(){struct node queue[401];int head, tail;int book[20][20] = {0};int start_x, start_y;int max = 0, sum = 0, mx, my;int tx, ty;int k;int next[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};printf("输入起点坐标:");scanf("%d %d", &start_x, &start_y);head = 1;tail = 1;book[start_x][start_y] = 1;queue[tail].x = start_x;queue[tail].y = start_y;tail++;max = getnum(start_x, start_y);tx = start_x;ty = start_y;while (head < tail){for (k = 0; k <= 3; k++){tx = queue[head].x + next[k][0];ty = queue[head].y + next[k][1];if (tx < 0 || tx > 12 || ty < 0 || ty > 12)continue;if (map[tx][ty] == '.' && book[tx][ty] == 0){book[tx][ty] = 1;queue[tail].x = tx;queue[tail].y = ty;tail++;sum = getnum(tx, ty);if (sum > max){max = sum;mx = tx;my = ty;}}}head++;}printf("应该放在(%d,%d)处,共消灭%d个敌人\n", mx, my, max);getchar();getchar();return 0;}
0 0
- 广度优先搜索-炸弹人问题
- 炸弹人(广度优先搜索)
- BFS广度优先搜索 炸弹人
- 深度优先搜索-炸弹人问题
- 炸弹人 广度优先—C
- 迷宫问题-广度优先搜索
- 迷宫问题-广度优先搜索
- 广度优先搜索:迷宫问题
- 广度优先搜索--搜索路径问题
- 深度优先搜索+解炸弹人游戏
- BFS深度优先搜索 炸弹人
- 再解炸弹人--广度搜索和深度搜索
- 迷宫问题|深度优先搜索&广度优先搜索
- 树:深度优先搜索、广度优先搜索、背包问题
- Matlab 广度优先搜索求解迷宫问题
- 广度优先搜索求解迷宫问题
- 广度优先搜索求解迷宫问题
- 用广度优先搜索解迷宫问题
- 输入一个有大写和小写的字符串,把其中的大写转化为小写,小写转化为大写。
- socket通信
- C++服务编程
- 你是猪,,,vb经典代码
- acm学习
- 广度优先搜索-炸弹人问题
- Kronos员工雇用状态与账户状态
- JS对象与JSON格式数据相互转换
- mysql从5.6.14升级至5.6.25
- Linux的一些小知识
- 第十七周oj刷题——Problem B: 分数类的四则运算【C++】
- 深入理解Java的接口和抽象类
- gcd介绍
- 瀑布流布局(基于多栏列表流体布局实现)