题目求助
查看原帖
题目求助
964333
meijiawei22楼主2023/10/3 11:26

while循环死循环了但不知道哪里出错,代码如下:

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
struct node{
    int num;
    int id;
}a[N];
queue<int> q;
int cnt=0;
int main()
{
    //freopen("fruit.in","r",stdin);
    //freopen("fruit.out","w",stdout);
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i].num;
        a[i].id=i;
        q.push(i);
    }
    int x,y;
    while(!q.empty())
    {
        if(q.size()==1)
        {
            cout<<q.front()<<endl;
            break;
        }
        x=q.front();
        q.pop();
        y=q.front();
        q.push(x);
        if(a[x].num!=a[y].num)
        {
            cout<<a[y].id<<" ";
            q.pop();
        }
        if(x>y) cout<<endl;
        if(q.size()==1)
        {
            cout<<q.front()<<endl;
            break;
        }
    }
    return 0;
}

2023/10/3 11:26
加载中...