队列萌新求救

P1588 [USACO07OPEN] Catch That Cow S

@[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


| 下一页