当前位置: 首页 > news >正文

有个网站专做品牌 而且价格便宜/百度搜索资源平台

有个网站专做品牌 而且价格便宜,百度搜索资源平台,厦门电商店铺设计公司麦,自助网站建设价格解题思路 首先这个是广搜。 可以预处理出刚开始的箱子状态和终点。 那么 121212 的情况怎么记录呢? 我们可以记录第一个格子,然后直接把第二个格子判断状态即可。 然后对于箱子的移动很麻烦,我们要用 dx,dydx,dydx,dy表示移动方向&#xff0…

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


解题思路

首先这个是广搜。
可以预处理出刚开始的箱子状态和终点。
那么 1×21×21×2 的情况怎么记录呢?
我们可以记录第一个格子,然后直接把第二个格子判断状态即可。
然后对于箱子的移动很麻烦,我们要用 dx,dydx,dydx,dy表示移动方向,dtdtdt表示移动后的状态。
最后直接搜就好了。


代码

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <iomanip>
#include <cmath>
using namespace std;const int dx[4][5] = { {}, { 0, 0, 0, -2, 1 }, { 0, 1, -1, 0, 0 }, { 0, 0, 0, 2, -1 } };
const int dy[4][5] = { {}, { 0, 1, -2, 0, 0 }, { 0, 0, 0, 2, -1 }, { 0, 1, -1, 0, 0 } };
const int dt[4][5] = { {}, { 0, 2, 2, 3, 3 }, { 0, 2, 2, 1, 1 }, { 0, 3, 3, 1, 1 } };char lyx[600][600];
bool flag = 0;
int n, m, h, t, tx, ty, v[600][600][4];struct c {int x, y, t, c;
} a[6000000];bool check(int x, int y, int t) {if (x < 1 || y < 1 || x > n || y > m || v[x][y][t] == 1)return 0;if (t == 1) {if (lyx[x][y] == '#' || lyx[x][y] == 'E')return 0;}if (t == 2) {if (lyx[x][y] == '#' || lyx[x][y + 1] == '#' || y + 1 > m)return 0;}if (t == 3) {if (lyx[x][y] == '#' || lyx[x + 1][y] == '#' || x + 1 > n)return 0;}return 1;
}void bfs() {h = 0, t = 1;while (h < t) {h++;for (int i = 1; i <= 4; i++) {int xx = a[h].x + dx[a[h].t][i], yy = a[h].y + dy[a[h].t][i], tt = dt[a[h].t][i];if (check(xx, yy, tt)) {t++;v[xx][yy][tt] = 1;a[t].x = xx, a[t].y = yy, a[t].t = tt, a[t].c = a[h].c + 1;if (xx == tx && yy == ty && tt == 1) {printf("%d\n", a[t].c);return;}}}}printf("Impossible\n");
}int main() {while (scanf("%d%d", &n, &m)) {memset(v, 0, sizeof(v));if (n == 0 && m == 0)break;for (int i = 1; i <= n; i++)for (int j = 1; j <= m; j++) cin >> lyx[i][j];flag = 0;for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {if (lyx[i][j] == 'O')tx = i, ty = j;if (lyx[i][j] == 'X' && !flag) {a[1].x = i, a[1].y = j, flag = 1;if (lyx[i][j + 1] == 'X')//状态2:横着躺着a[1].t = 2;else if (lyx[i + 1][j] == 'X')//状态3:竖着躺着a[1].t = 3;elsea[1].t = 1, v[i][j][a[i].t] = 1;//状态1:立着}}}bfs();}
}
http://www.jmfq.cn/news/5298157.html

相关文章:

  • 怎么做.com的网站/百度关键字搜索排名
  • 设计说明翻译/网站内链优化
  • 做棋牌网站犯法吗/推广搜索引擎
  • 免费的网站模板哪里有/搜索引擎优化公司
  • 做网站能赚到钱吗/手机怎么建自己的网站
  • 东莞网站建设设/站长网站优化公司
  • wordpress首页api幻灯片/内部优化
  • wordpress自然志下载/seo研究协会网
  • 协会网站建设的优势/广州市口碑seo推广外包
  • 购物网站那个信用好又便宜/网站推广seo设置
  • 免费的求职简历模板网站/it培训机构排名
  • 武汉做网站网络公司/成都抖音seo
  • 公司网站现状/seo168小视频
  • 厦门电子网站建设/经典网络营销案例
  • 网站产品图怎么做/seo网站平台
  • 英文成品网站模板下载/东莞seo外包公司哪家好
  • 专业做网站的团队/竞价恶意点击器
  • 邵阳网站建设多少钱/seo关键词优化经验技巧
  • 哪些网站用c 做的/站长工具视频
  • 做百度网站每年的费用多少钱/廊坊seo优化排名
  • 赌博网站做代理微信群卖房卡/有创意的营销策划案例
  • wordpress建站方法/seo顾问服务福建
  • 网页设计实验报告步骤/appstore关键词优化
  • 郑州电商公司排名前十有哪些/seo常用方法
  • 沈阳制作网站的公司有哪些/如何建立个人网址
  • 陕西省建设教育培训中心网站/云盘搜索
  • 苏州网站建设设计制作公司怎么样/外包平台
  • 广州 餐饮 网站建设/百度文库账号登录入口
  • 企业电子商务网站建设规划方案/seo网站优化教程
  • 梅州市网站制作/互联网营销师