@[SCLBJKD](/space/show?uid=53603)
结构体压入队列应该step{a,b} 不是()
by 爱撒谎的先生 @ 2018-12-02 20:04:30
@[爱撒谎的先生](/space/show?uid=45997) 不,我一加上`for(int i=1;i<=t;i++)`就错了
by SCLBJKD @ 2018-12-02 20:34:57
q.push((step){n,0});
by 稚名真白 @ 2018-12-02 20:39:30
@[稚名真白](/space/show?uid=77807) 为啥我加上`for(int i=1;i<=t;i++)`就错了
by SCLBJKD @ 2018-12-02 20:47:35
没有错我试过
@[SCLBJKD](/space/show?uid=53603)
by 稚名真白 @ 2018-12-02 20:59:24
```
#include<bits/stdc++.h>
#include<queue>
using namespace std;
int vis[100005];
struct step
{
int x;
int steps;
};
queue<step> q;
int main()
{
int n,k;
cin>>n>>k;
q.push((step){n,0});
vis[n]=1;
while(q.empty()==0)
{
step s=q.front();
if(s.x==k)
{
cout<<s.steps<<endl;
break;
}
else
{
if(s.x-1>=0 && vis[s.x-1]==0)
{
q.push((step)(s.x-1,s.steps+1));
vis[s.x-1]=1;
}
if(s.x+1<=0x8f)
{
q.push((step)(s.x+1,s.steps+1));
vis[s.x+1]=1;
}
if(s.x*2<=0x8f)
{
q.push((step)(s.x*2,s.steps+1));
vis[s.x*2]=1;
}
}
q.pop();
}
}
```
还是错的
by SCLBJKD @ 2018-12-02 22:19:26
@[稚名真白](/space/show?uid=77807)
by SCLBJKD @ 2018-12-02 22:19:31
@[爱撒谎的先生](/space/show?uid=45997)
by SCLBJKD @ 2018-12-02 22:19:35
@[SCLBJKD](/space/show?uid=53603) 后面那个是大括号
(结构体名){变量1,变量2……};
复制如上
by 梧桐灯 @ 2018-12-02 22:23:18
@[SCLBJKD](/space/show?uid=53603) 而且,你只改了一个,下面那些没有改
by 梧桐灯 @ 2018-12-02 22:24:06