BFS洛谷P1135 奇怪的電梯(我的演算法學習之路)
BFS洛谷P1135 奇怪的電梯(我的演算法學習之路)
標籤:模擬 廣度優先搜尋(BFS) 深度優先搜尋(DFS)
#include<iostream>
#include<stdio.h>
#include<queue>
#include<algorithm>
using namespace std;
int ff[210];
int vist[210]={0};
int main()
{
int n,a,b;
scanf("%d%d%d",&n,&a,&b);
for(int i=1;i<=n;i++)
{
scanf("%d",&ff[i]);
}
queue<int>f;
queue<int>s;
f.push(a);
s.push(0);
vist[a]=1;
int i;
while(!f.empty())
{
if(f.front()==b)break;
i=f.front()+ff[f.front()];
if(i<=n&&vist[i]==0)
{
f.push(i);
s.push(s.front()+1);
vist[i]=1;
}
i=f.front()-ff[f.front()];
if(i>=1&&vist[i]==0)
{
f.push(i);
s.push(s.front()+1);
vist[i]=1;
}
f.pop();
s.pop();
}
if(f.front()==b)printf("%d",s.front());
else printf("-1");
return 0;
}
相關文章
- 洛谷P1852 奇怪的字串字串
- 洛谷-P2178 學習筆記筆記
- 我的C學習之路 (轉)
- 我用演算法學golang(爬樓梯)演算法Golang
- 我的Java後端學習之路Java後端
- 我的C語言學習之路C語言
- 我的大資料學習之路大資料
- 洛谷P1972(莫隊演算法)演算法
- Mzc和男家丁的遊戲(洛谷)遊戲
- 1280 洛谷 尼克的任務
- 我的推薦系統學習之路
- 我的彙編學習之路(1):指令
- 演算法學習之路|划拳演算法
- 洛谷傻逼之處
- 洛谷八皇后問題
- 棧的應用 -洛谷P1449
- 洛谷----P1079 Vigenère 密碼(知識點學習)密碼
- 我走過的學習之路(記我對技術的選擇) (轉)
- 電梯排程演算法簡述演算法
- 演算法系列:電梯排程演算法
- 演算法學習之路|A除以B演算法
- 演算法學習之路|列印排名演算法
- 演算法學習之路|方格分割演算法
- 演算法學習之路|朋友數演算法
- 演算法學習之路|SpellItRight演算法
- 演算法學習之路|歐幾里得遊戲演算法遊戲
- 演算法學習之路|月餅演算法
- 演算法學習之路|PATRanking演算法
- 演算法學習之路|列印沙漏演算法
- 演算法學習之路|快速排序演算法排序
- 演算法學習之路|結繩演算法
- 演算法學習之路|數零壹演算法
- 洛谷 1279 字串距離字串
- 洛谷 1057 傳球遊戲遊戲
- 洛谷 1781——宇宙總統(排序)排序
- 榮耀的成功之路值得我們學習什麼?
- 工作兩年漲薪40%,揭秘我的學習之路!
- 電梯引發的思考