样例和第一个测试点过了但后面的全WA求调
查看原帖
样例和第一个测试点过了但后面的全WA求调
671489
hy8z楼主2024/4/11 19:02
#include<bits/stdc++.h>
using namespace std;
struct lymy{
    int u,v;
};
int n,m;
bool pd[100001];
vector <lymy> p;
vector <int> p1[100001];
queue <int> q;
bool cmp(lymy q,lymy w)
{
    if(q.u==w.u)return q.v<w.v;
    else return q.u<w.u;
}
void dfs(int x)
{
    cout<<x<<" ";
    int ly=p1[x].size();
    for(int i=0;i<ly;i++)
    {
        if(!pd[p1[x][i]])
        {
            pd[p1[x][i]]=true;
            dfs(p1[x][i]);
        }
    }
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        int a,b;
        cin>>a>>b;
        p.push_back((lymy){a,b});
    }
    sort(p.begin(),p.end(),cmp);
    for(int i=0;i<m;i++)
    {
        p1[p[i].u].push_back(p[i].v);
    }
    dfs(1);
    cout<<endl;
    memset(pd,0,sizeof(pd));
    pd[1]=true;
    q.push(1);
    while(!q.empty())
    {
        int x=q.front();
        q.pop();
        cout<<x<<" ";
        int ly=p1[x].size()
        for(int i=0;i<ly;i++)
        {
            if(!pd[p1[x][i]])
            {
                pd[p1[x][i]]=true;
                q.push(p1[x][i]);
            }
        }
    }
    return 0;
}

求调

2024/4/11 19:02
加载中...