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

抖音上做我女朋友网站拼多多搜索关键词排名

抖音上做我女朋友网站,拼多多搜索关键词排名,网站建设 qq业务网制作,外贸平台补贴政策题目 题解: 在一个棋盘中,有一个空白位置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://www.dtcms.com/wzjs/310844.html

相关文章:

  • 北京学生做兼职的网站武汉百度推广代运营
  • 网站在浏览器的图标怎么做谷歌浏览器 免费下载
  • 苏州住房与城乡建设局网站网络广告的计费方式
  • 做网站做得好的公司有青海seo技术培训
  • 内衣批发网站建设企业网页设计制作
  • 国外做任务网站有哪些免费企业黄页查询官网
  • 滁州做网站seo网站排名优化软件
  • 广州公关公司排行榜温州网站建设优化
  • 做网站点击量有用吗百度关键词优化培训
  • 动态网站建设课程长沙关键词优化方法
  • 西安网站建设成功建设营销策略包括哪些方面
  • 网站初期推广方案网络推广外包哪家好
  • 网站做电商资质吗qq推广链接
  • 网站空间自己做seo网站管理
  • 外贸网站推广怎样做排名优化公司哪家效果好
  • b站推广网站2024官网百度app下载官方免费最新版
  • 怎样做旅游摄影网站长沙疫情最新情况
  • 免费的网站认证什么是搜索引擎销售
  • 做网站推广 优帮云陕西疫情最新消息
  • 网站的域名可以更改吗广州网络推广培训
  • 常州本地做网站的大公司什么是淘宝搜索关键词
  • wordpress登入访问杭州关键词推广优化方案
  • 哪个厂家的广州网站建设外贸营销型网站制作
  • 网站建设五大定位国内永久免费建站
  • 淘宝属于b2b还是c2c牡丹江网站seo
  • 网站建设完毕后怎么加后台百度百家号怎么赚钱
  • 商城网站建设百度西安
  • 360网站怎么建设seo网站推广目的
  • 建个人网站怎么赚钱吗关键词排名监控批量查询
  • 品牌外贸网站建设html网页制作模板