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

单位做网站的目的营销策划公司的经营范围

单位做网站的目的,营销策划公司的经营范围,ppt做仿网站点击效果,自己制作的网站上传到服务器后怎么原来的网页没有变思路:双端队列。 其实一开始你可以用BFS进行实验,由于我们需要找最小的费用,所以我们在BFS的时候可以这样想:在我们遍历到第一块板子的时候,在找周围的路时,我们可以改成这样的判断:如果周围的…

思路:双端队列。

其实一开始你可以用BFS进行实验,由于我们需要找最小的费用,所以我们在BFS的时候可以这样想:在我们遍历到第一块板子的时候,在找周围的路时,我们可以改成这样的判断:如果周围的板子和我们现在的板子是一样的,那么这个时候我们取下一个板子和当前板子的最小值作为下一个板子的费用(其他在遍历的板子时可能比当前所用费用少)。可以这样想,但是有一个缺点,那就是当我们遍历完还要继续更新已经遍历完的格子,这样是不是会造成死循环而到达不到终点呢?是的,如果我们标记了状态,走过的格子我们已经走不了了;但是走过的格子还需要进行更新,所以这是矛盾的。我们需要想一种办法来解决这个问题。这就引出了这种做法,就是双端队列。

我们当然是希望走到相同的板子上为好,因为这样费用才能达到最少,所以,我们的想法就是尽可能的先走完相同的格子,再去走不同的格子。这样,双端队列的用处就是,在我们遍历到周围的格子时,如果这个格子与当前的格子字符相同,我们就把它的位置插到最前面去;否则我们放到后面,这样就保证了能够先遍历相同的格子,而不会我们的相同格子没遍历完就遍历了不同的格子。

上代码:

#include<iostream>
#include<stdio.h>
#include<cstring>
#include<cstdlib>
#include<cmath> 
#include<vector>
#include<algorithm>
#include<stack>
#include<queue>
#include<deque>
#include <iomanip>
#include<sstream>
#include<numeric>
#include<map>
#include<limits.h>
#include<unordered_set>
#include<set>
#define int long long
#define MAX 510
#define _for(i,a,b) for(int i=a;i<(b);i++)
#define ALL(x) x.begin(),x.end()
using namespace std;
typedef pair<int, int> PII;
int n, m;
int counts;
int dx[] = { -1,1,0,0 };
int dy[] = { 0,0,-1,1 };
char maps[MAX][MAX];
int dist[MAX][MAX];
deque<PII>q;
int stx, sty, edx, edy;
int bfs(int x, int y) {q.push_back({ x,y });dist[x][y] = 0;while (!q.empty()) {auto tmp = q.front();q.pop_front();char ch = maps[tmp.first][tmp.second];_for(i, 0, 4) {int a = dx[i] + tmp.first;int b = dy[i] + tmp.second;if (a < 0 || a >= n || b < 0 || b >= m)continue;if (dist[a][b] >= 0)continue;if (maps[a][b] == ch){dist[a][b] = dist[tmp.first][tmp.second];q.push_front({ a,b });}if (maps[a][b] != ch) {dist[a][b] = dist[tmp.first][tmp.second] + 1;q.push_back({ a,b });}if (a == edx && b == edy) {return dist[a][b];}}}return -1;
}
signed main() {ios::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL);while (cin>>n>>m,n||m) {_for(i, 0, n) {_for(j, 0, m)cin >> maps[i][j];}memset(dist, -1, sizeof dist);q.clear();cin >> stx >> sty >> edx >> edy;cout<<bfs(stx,sty)<<endl;}return 0;
}

http://www.yidumall.com/news/75881.html

相关文章:

  • 可不可以建网站做微商怎么在百度上设置自己的门店
  • 做网站项目前期工作包括哪些如何做地推推广技巧
  • 怎么做本地网站乌海网站seo
  • 黄埔网站建设 信科网络外链群发软件
  • 阿里云上做网站网站收录怎么弄
  • 天津中冀建设集团有限公司网站洛阳seo网络推广
  • 近一周财经新闻热点广州网站设计专注乐云seo
  • 网站优化可以做哪些优化淘宝关键词搜索
  • 返利网站建设江西百度推广开户多少钱
  • 鞍山做网站优化公司seo排名优化技术
  • 网站分析步骤网站收录查询爱站
  • 徐州做网站管理的公司网络舆情处置的五个步骤
  • 企业官方网站需要备案吗软件开发培训学校
  • 传奇手游sf网站汽车网络营销推广方案
  • element ui做的网站优化大师免费下载安装
  • 阿里云服务器添加网站什么是搜索引擎优化seo
  • 株洲做网站多少钱怎么做公众号
  • dw做网站步骤广东新闻今日大件事
  • 共青团智慧团建网站登录入口360网站推广
  • 海口网站建设流程广州百度网站快速排名
  • 广东企业移动网站建设哪家好北京seo编辑
  • 云排名网站全自动精准引流软件
  • 济南国迅网站建设公司怎么样百度一下首页百度一下
  • 做舞美的好素材网站j搜索网页
  • 专业集团门户网站建设方案技能培训机构排名前十
  • wordpress数据查询长治seo顾问
  • 几度设计网站西安关键词优化平台
  • 网站做任务包括什么网站优化内容
  • 二级学院网站建设方案企业高管培训课程有哪些
  • 做鞋的B2B网站外贸推广平台有哪几个