RE 求助

P1983 [NOIP2013 普及组] 车站分级

Exber @ 2021-08-04 08:38:46

rt,萌新刚学 OI,不知道为啥会 RE……

#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>

#define S 1000005
#define MS 100005

using namespace std;

int n,m,stop[MS];
int esum,to[S],nxt[S],h[MS];
int ind[MS],lev[MS];
int ans;

inline void add(int x,int y)
{
    to[++esum]=y;
    nxt[esum]=h[x];
    h[x]=esum;
}

int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++)
    {
        int s;
        scanf("%d",&s);
        for(int j=1;j<=s;j++)
        {
            scanf("%d",&stop[j]);
        }
        for(int j=stop[1];j<=stop[s];j++)
        {
            bool f=false;
            for(int k=1;k<=s;k++)
            {
                if(j==stop[k])
                {
                    f=true;
                    break;
                }
            }
            if(f)
            {
                continue;
            }
            for(int k=1;k<=s;k++)
            {
                add(j,stop[k]);
                ind[stop[k]]++;
            }
        }
    }
    queue<int> q;
    for(int i=1;i<=n;i++)
    {
        if(ind[i]==0)
        {
            q.push(i);
            lev[i]=1;
        }
    }
    while(!q.empty())
    {
        int u=q.front();
        q.pop();
        ans=max(ans,lev[u]);
        for(int i=h[u];i;i=nxt[i])
        {
            int v=to[i];
            lev[v]=max(lev[v],lev[u]+1);
            if(!--ind[v])
            {
                q.push(v);
            }
        }
    }
    printf("%d\n",ans);
    return 0;
}

by chlchl @ 2021-10-04 16:41:34

@lovely_ckj 大佬绿蓝紫黑 400 敢说自己刚学 OI?这有点太 fake 了吧……您全洛谷排名 100 以内呢!


by Exber @ 2021-10-04 17:30:18

@caihaolang 毕竟没勾


by chlchl @ 2021-10-04 18:48:07

@lovely_ckj ……有勾还不是一个支付宝的事?就您这实力起码绿勾好吧……


上一页 |