求 hack WA 20pts
查看原帖
求 hack WA 20pts
743014
_H17_楼主2025/7/24 08:26
#include<bits/stdc++.h>
#define ALL(x) x.begin(),x.end()
using namespace std;
constexpr int N=1e5+1;
int n,m,s,t,ind[N],oud[N],vis[N];
vector<int>e[N];
void add(int u,int v){
    e[u].push_back(v);
    oud[u]++,ind[v]++;
    return;
}
void dfs(int u){
    cout<<u<<' ';
    if(vis[u]<e[u].size())
        dfs(e[u][vis[u]++]);
    return;
}
int main(){
    cin>>n>>m;
    for(int i=1,u,v;i<=m;i++){
        cin>>u>>v;
        add(u,v);
    }
    for(int i=1;i<=n;i++)
        sort(ALL(e[i]));
    for(int i=1;i<=n;i++){
        if(ind[i]+1==oud[i]){
            if(s){
                cout<<"No";
                return 0;
            }
            s=i;
        }
        else if(ind[i]==oud[i]+1){
            if(t){
                cout<<"No";
                return 0;
            }
            t=i;
        }
        else if(ind[i]!=oud[i]){
            cout<<"No";
            return 0;
        }
    }
    if((!s)^(!t)){
        cout<<"No";
        return 0;
    }
    dfs(s?s:1);
    return 0;
}
2025/7/24 08:26
加载中...