全T求救
查看原帖
全T求救
953660
zsjaaaxy楼主2023/11/26 13:09

那里死循环了,全TLE?

#include<bits/stdc++.h>
using namespace std;
int t,x,y,s;
bool vis[12];
struct node
{
    int layer;
    int cnt;
};
queue<node> q;
int main()
{
    cin>>s;
	for(int i=1;i<=s;i++)
    {
        while(!q.empty())
        {
            q.pop();
        }
        q.push({x,0});
        cin>>x>>y;
        while(!q.empty())
        {
            node t=q.front();
            if(vis[t.layer]==true)
            {
                continue;
            }
            vis[t.layer]=true;
            if(t.layer==y)
            {
                cout<<t.cnt<<endl;
                break;
            }
            int z1=t.layer+1,z2=t.layer-1,z3=t.layer*2;
            if(!vis[z1]&&z1<=0&&z1>100000)
            {
                q.push({z1,t.cnt+1});
            }
            if(!vis[z2]&&z2<=0&&z2>100000)
            {
                q.push({z2,t.cnt+1});
            }
            if(!vis[z3]&&z3<=0&&z3>100000)
            {
                q.push({z3,t.cnt+1});
            }
        }
    }
    return 0;
}
2023/11/26 13:09
加载中...