问9 被我试出🔥🌹的一道题
2024-05-12 15:30:13
发布于:广东
【问题9】此题我真的肝了三天三夜都只肝了60,可恶,谁能救救我??!????!??!?!??!?
(如果你但看提交记录就会发现我一个人占满了一页半!交了好久。。。。。。。)
题目:A8051奇怪的电梯
my code:
#include<bits/stdc++.h>
using namespace std;
int n,a,b,an[205],m=INT_MAX;
bool r=false,bz=true;
int bfs(int now,int cs)
{
int head=0,tail=1;
head++;
if(now==b)
{
r=true;
m=0;
return m;
}
while(head<tail)
{
head++;
if(now>=1&&now<=n&&an[now]!=0)
{
if(now-an[now]>0)
{
bz=false;
bfs(now-an[now],cs+1);
}
if(now+an[now]<=n)
{
bz=false;
bfs(now+an[now],cs+1);
}
if(bz==false)
{
tail++;
bz=true;
}
if(now==b)
{
r=true;
if(cs<m)
m=cs;
return 0;
}
}
}
}
int main()
{
cin>>n>>a>>b;
for(int i=1;i<=n;i++)
{
cin>>an[i];
}
r=false;
bfs(a,0);
if(r==false&&m==INT_MAX)
{
cout<<"-1";
}
if(r==true)
cout<<m;
}
刚学广搜不久,知道做的很烂,请各位大佬手下留情><
2024.5.12现在也是成功AC了,谢谢各位的热心帮助❥(^_-)
全部评论 6
刷低错误率?(3秒提交一次)(找喷)
2024-05-08 来自 浙江
1找
喷是什么意思啊2024-05-08 来自 广东
0刷低错误率好玩吗?
2024-05-09 来自 浙江
0怎么不说话了?要我发一下帖子吗?
2024-05-10 来自 浙江
0
你这个没有标记
2024-05-07 来自 江苏
0你可以试试深搜,搜路径的时候正常搜,定义一个mi代表次数,再把每次到终点后的结果,和mi比较就行了,要加记忆化,不然超时
2024-05-07 来自 江苏
0老师让用bfs
2024-05-07 来自 广东
0那你直接用STL里的队列吧
2024-05-07 来自 江苏
0dfs会超时,我就是那个超时的......现在bfs对的
2024-05-07 来自 浙江
0
你知道队列吗
2024-05-07 来自 江苏
0知道,head和tail
2024-05-07 来自 广东
0你以后还是在ACGO提交几遍,再去洛谷提交几遍吧
2024-05-10 来自 江苏
0我不是洛谷成员,不入站
2024-05-14 来自 广东
0
你这是dfs,求不出最小值
广搜应该得用队列2024-05-06 来自 广东
0a,震碎,还是不小心用错了》〉》〉》
2024-05-07 来自 广东
0😭
2024-05-07 来自 广东
0你直接这样糊弄老师吧
2024-05-07 来自 江苏
0
我无话可说
2024-05-06 来自 广东
0
有帮助,赞一个