栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1979 Red and Black

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1979 Red and Black

#include <iostream>#include <string>#define F(i,a,b) for (int i=a;i<=b;i++)using namespace std;struct Tile{int x, y;Tile() {}Tile(int a, int b) { x = a, y = b; }};int startx, starty, h, w,move[4][2] = { {0, 1}, {1, 0}, {-1, 0}, {0, -1} };bool map[21][21], mk[21][21];Tile Q[402];void bfs(){int now = 1, last = 1;memset(mk , 0, sizeof(mk ) );Q[now] = Tile(startx, starty);mk[startx][starty] = true;while (now <= last){F(i,0,3){int newx = Q[now].x + move[i][0], newy = Q[now].y + move[i][1];if (0<=newx && h > newx && 0 <=newy && w > newy){if (map[newx][newy] && !mk[newx][newy] ){mk[newx][newy] = true;Q[++last] = Tile(newx, newy);}}}now++;}cout << last << endl;}int main(){string str;while (cin >> w >> h && w && h){F(i,0,h-1){cin >> str;F(j,0,w-1){if (str[j] == '.')map[i][j] = true;if (str[j] == '#')map[i][j] = false;if (str[j] == '@'){startx = i, starty = j;map[i][j] = true;}}}bfs();}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375852.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号