关于代码输出超限导致的CE
查看原帖
关于代码输出超限导致的CE
1189340
aishiteru_mitsu_ha楼主2025/7/28 21:45

rt,下面的代码在本地可以顺利通过编译运行,但在luogu在线ide上却无法运行,显示Nothing is compiled: OUTPUT exceeds.,请问这是为什么?

#include<bits/stdc++.h>
#define endl "\n"
#define ll long long
#define N 1086
using namespace std;
struct node{
    int id=-1,num=-1,nxt=-1;
}team[N][N];
int t,n,f;
int team_in_queue[N];
node h,e;
string s;
map<int,node>teamates;
inline int read();
int main(){
    memset(team_in_queue,-1,sizeof(team_in_queue));
    t=read();
    for(int i=1;i<=t;i++){
        n=read();
        for(int j=1;j<=n;j++){
            team[i][j].num=read();
            team[i][j].id=i;
            teamates[team[i][j].num]=team[i][j];
        }
    }
    while(1){
        cin>>s;
        if(s=="STOP") break;
        else{
            if(s=="ENQUEUE"){
                int x=read();
                if(!f){
                    f=1;
                    h=teamates[x];
                    team_in_queue[teamates[x].id]=teamates[x].num;
                    e=h;
                }
                if(team_in_queue[teamates[x].id]==-1){
                    team_in_queue[teamates[x].id]=teamates[x].num;
                    teamates[e.num].nxt=teamates[x].num;
                    e=teamates[x];
                }else{
                    teamates[x].nxt=teamates[team_in_queue[teamates[x].id]].nxt;
                    if(teamates[team_in_queue[teamates[x].id]].num==e.num) e=teamates[x];
                    teamates[team_in_queue[teamates[x].id]].nxt=teamates[x].num;
                }
            }else{
                cout<<teamates[h.num].num<<endl;
                if(teamates[h.num].id==teamates[teamates[h.nxt].nxt].id) team_in_queue[teamates[h.num].id]=teamates[h.num].nxt;
                else team_in_queue[teamates[h.num].id]=-1;
                if(teamates[h.num].num==teamates[e.num].num){
                    team_in_queue[teamates[h.num].id]=-1;
                    f=0;
                    continue;
                }
                h=teamates[teamates[h.num].nxt];
            }
        }
    }
    return 0;
}
inline int read(){
    int x=0,f=1;char ch=getchar();
    while (ch<'0'||ch>'9') {if (ch=='-') f=-1;ch=getchar();}
    while (ch>='0'&&ch<='9') {x=x*10+ch-48;ch=getchar();}
    return x*f;
}

原题

2025/7/28 21:45
加载中...