1 条题解

  • 0
    @ 2024-08-13 13:46:00

    不是,一道板子,不会还有人WA吧?

    #include<bits/stdc++.h>
    using namespace std;
    int n,m,a[100084],in[100084],flag;
    vector<int> ve[100000];
    void poto(){
        int ans=0,k=0;
        queue<int> q;
        while(k<n){
            flag++;
            if(flag==1000){
                cout<<"No";
                exit(0);
            }
            for(int i=1;i<=n;i++){
                if(in[i]==0){
                    a[++k]=i;
                    in[i]=-1;
                    for(int j=0;j<ve[i].size();j++){
                        in[ve[i][j]]--;
                    }
                    break;
                }
            }
        }
        for(int i=1;i<=k;i++){
            cout<<a[i]<<" ";
        }
        exit(0);
    }
    int main(){
        cin>>n>>m;
        for(int i=1;i<=m;i++){
            int a,b;
            cin>>a>>b;
            in[b]++;
            ve[a].push_back(b);
        }
        for(int i=1;i<=n;i++){
            sort(ve[i].begin(),ve[i].end());
        }
        poto();
        return 0;
    }
    /*
    10 20
    
    */
    
  • 1

信息

ID
1000
难度
9
分类
拓扑排序 点击显示
标签
(无)
递交数
6
已通过
2
通过率
33%
上传者