麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

codevs 2806_紅與黑_bfs

2019-11-11 04:47:15
字體:
來源:轉載
供稿:網友

題目描述

有一個矩形房間,覆蓋正方形瓷磚。每塊瓷磚涂成了紅色或黑色。一名男子站在黑色的瓷磚上,由此出發,可以移到四個相鄰瓷磚之一,但他不能移動到紅磚上,只能移動到黑磚上。編寫一個程序,計算他通過重復上述移動所能經過的黑磚數。


思路

暴力搜索就可以了 O(nm)


#include <stdio.h>#include <queue>#include <cstring>#include <string>using namespace std;int a[101][101],x,y;int f[101][101],ans=0;int dx[5]={0,1,0,-1,0};int dy[5]={0,0,1,0,-1};int n,m;int bfs(){ queue<int> tx; queue<int> ty; tx.push(x); ty.push(y); while (!tx.empty()) { int xx=tx.front(),yy=ty.front(); tx.pop(); ty.pop(); for (int i=1;i<=4;i++) if (dx[i]+xx>=1&&dx[i]+xx<=n&&dy[i]+yy>=1&&dy[i]+yy<=m&&a[dx[i]+xx][dy[i]+yy]==0&&f[dx[i]+xx][dy[i]+yy]==0) { f[dx[i]+xx][dy[i]+yy]=1; ans++; tx.push(dx[i]+xx); ty.push(dy[i]+yy); } } }int main(){ scanf("%d%d",&m,&n); while (n!=0) { for (int i=1;i<=100;i++) for (int j=1;j<=100;j++) { a[i][j]=f[i][j]=0; } for (int i=1;i<=n;i++) { char ch[100]; scanf("%s",&ch); for (int j=1;j<=m;j++) { if (ch[j-1]=='#') a[i][j]=1; if (ch[j-1]=='@') { x=i; y=j; f[i][j]=1; } } } ans=1; bfs();
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美日韩视频在线播放 | 老女人碰碰在线碰碰视频 | 欧美 国产 综合 | 久草亚洲视频 | 色妹子久久| 亚洲成人免费影视 | 伊人99re | 精品中文字幕久久久久四十五十骆 | 欧美日韩一区,二区,三区,久久精品 | 福利在线免费视频 | 亚洲综合视频网站 | v天堂在线视频 | 一边吃奶一边插下面 | 一级毛片手机在线观看 | 日韩剧情片| 手机av在线电影 | 欧美羞羞视频 | 72pao成人国产永久免费视频 | 久久精品中文字幕一区二区三区 | 撅高 自己扒开 调教 | 国产免费人做人爱午夜视频 | 成人在线观看一区二区 | 国产精品久久久久影院老司 | 亚洲成人午夜精品 | 欧美日本一 | 国产精品成人一区二区三区吃奶 | 久草手机在线观看视频 | 欧美国产一区二区三区激情无套 | 狠狠干天天操 | 91av在线国产 | 羞羞视频免费网站男男 | 悠悠成人资源亚洲一区二区 | 欧美在线成人影院 | 国产成人观看 | 久国久产久精永久网页 | 日本高清com | 久久久aa | 欧美a视频在线观看 | 久草在线视频网 | 成人 精品| 91丨九色丨国产在线观看 |