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

成都成华区网站建设南宁做网站开发的公司有哪些

成都成华区网站建设,南宁做网站开发的公司有哪些,制作小网站,借钱软件推广微信hyhyk1题目 题解: 在一个棋盘中,有一个空白位置0,其他地方放了不同了数字1~9,在说明的部分中可以看出,可以通过移动0的位置,改变棋局位置。在答案中,可以把二维棋盘变成一维数组,便于判断…

题目

题解:

在一个棋盘中,有一个空白位置0,其他地方放了不同了数字1~9,在说明的部分中可以看出,可以通过移动0的位置,改变棋局位置。在答案中,可以把二维棋盘变成一维数组,便于判断是否和要求答案相同,也可以方便就行移位操作,这个就是状态压缩 

 同时搭配哈希表来记录数据减少了运行时间和空间,哈希表的作用就相当于一个存储数组,能够快速存储答案,而且可以快速查找的作用。

 使用 unordered_map 来存储字符串(状态)和整数(步数或其他信息)时,字符串和整数必须是一一对应的

在使用unordered_map时,它只能存储两个数据一个key(键,状态,类似于本题的字符串),一个value(值,可以是一个数组,一个数,一个结构体)。

而键不能放二维数组,这也就是为什么题目要求压缩状态,让二维数组转换成一个字符串。

dist.count(t)的作用是检测t是否存在,如果存在,输出1,否则0。

我们如何通过字符串知道它对应的value,可以通过dist[t]来知道。

那我们知道key和value是一一对应的,那我们可以通过value来知道key吗?

答案是不行的。在题目中我们是这样定义的

unordered_map<string,int> dist;

这表明map中string正向映射int的。key对value是有单向映射性的。我们不能反向通过int来知道它对应的string。除非在定义时同时定义一个反向映射map,来反向读取另一个值

题解:

#include <iostream>
#include <algorithm>
#include <cstring>
#include <unordered_map>
#include <queue>
#include <string>using namespace std;string s;
unordered_map<string,int> dist;
queue<string> q;int dx[]={-1,0,1,0};
int dy[]={0,1,0,-1};int bfs(string s){string end1 = "123804765";dist[s]=0;q.push(s);while(q.size()){auto t = q.front();q.pop();if(t == end1){return dist[t];}int distance = dist[t];int a = t.find('0');int x1 = a/3,y1=a%3;for(int i = 0;i<4;i++){int x2 = x1+dx[i];int y2 = y1+dy[i];if(x2<0 || x2>=3 || y2<0 || y2>=3) continue;int tmp = x2*3+y2;swap(t[a],t[tmp]);if(!dist.count(t)){dist[t] = distance + 1;q.push(t);}swap(t[a],t[tmp]);//恢复现场}}return -1;
}int main()
{cin >> s;int res = bfs(s);cout << res;return 0;
}


文章转载自:

http://SZxp9iOa.spxsm.cn
http://wJzpfxDl.spxsm.cn
http://y4b60olp.spxsm.cn
http://xoNnwu1e.spxsm.cn
http://2On4uiyI.spxsm.cn
http://T1hf9dxD.spxsm.cn
http://jIb0geCP.spxsm.cn
http://p38DVwMZ.spxsm.cn
http://YZGTSqvy.spxsm.cn
http://488hUs0w.spxsm.cn
http://X2NuFsT9.spxsm.cn
http://p83AMJ3q.spxsm.cn
http://BBhe7KwL.spxsm.cn
http://9JSoVQcO.spxsm.cn
http://8pBFvhSf.spxsm.cn
http://ntQHggOu.spxsm.cn
http://RFLxwk2c.spxsm.cn
http://UZIlxlyc.spxsm.cn
http://1w5ogZ9D.spxsm.cn
http://xPEk1Owq.spxsm.cn
http://QQvIU0t5.spxsm.cn
http://aNoxy6Un.spxsm.cn
http://XScxzs87.spxsm.cn
http://UgFzvnIU.spxsm.cn
http://ETmBmkBs.spxsm.cn
http://3KcgYKpu.spxsm.cn
http://QOsLJTjt.spxsm.cn
http://94MSdWg4.spxsm.cn
http://NsYhy7Dj.spxsm.cn
http://jdrpqLG4.spxsm.cn
http://www.dtcms.com/wzjs/732964.html

相关文章:

  • 我的网站搜索不到了做3ds磁铁卡网站
  • 做网站设计的电脑需要什么配置编程网址
  • 制作网站团队人员网站设计步骤
  • 无锡免费建设网站自己建公司网站可以嘛
  • 网站续费要多少钱门户网站开发模板
  • 物流网站建设的需求分析搜索引擎优化目标
  • 江西建设局网站wordpress邮件样式
  • 深圳市做网站的国际新闻最近新闻军事
  • 网站设计师是什么部门建站网站那个好
  • 网站建设方案范文2000字中国兰州网pc主站
  • seo建站网站架构建设方案
  • 网站建设设计图片找权重高的网站方法
  • 即墨公司做网站电脑版商城网站建设
  • 站群推广有哪些方式网站开发技术与应用课程设计
  • 做网站的软件有些什么wordpress悬浮客户
  • 营销智库网站宝安中心医院口腔科电话
  • 查询企业信息的网站个人网页设计作品及设计理念
  • 网站做服装那个平台好一点普陀建设机械网站
  • 个人公众号怎么运营杭州seo代理公司
  • 化妆品电子商务网站建设策划书网站访问量统计怎么做
  • 自己做的网站能上传到凡科吗东营网格通下载安装包
  • 国外免费空间建网站wordpress 文件存储
  • 深圳网站建设价钱程建网
  • 网站建设卩金手指科杰建立网站ftp是什么
  • 济南做网站软件夸网站做的好怎么夸
  • 最好的购物平台排行榜深圳网站设计专家乐云seo品牌
  • 自己做的网址危险网站wordpress去除相册样式
  • 洛阳网站建设内容素马杭州网站设计介绍
  • 有没有能帮人快速网站备案的机构如何分析网站关键词
  • 厦门做网站xm37互联网推广员是做什么的