1146. Topological Order (25)
发布日期:2021-05-04 09:02:29 浏览次数:24 分类:原创文章

本文共 831 字,大约阅读时间需要 2 分钟。

#include <bits/stdc++.h>using namespace std;vector<int> v[1024];int indegree[1024];bool isTopological(vector<int> &vx){    int n=vx.size();    vector<int> in(indegree,indegree+n+1);    for(int x:vx){        if(in[x]!=0) return 0;        for(int y:v[x]){            in[y]--;        }    }    return 1;}int main(){    int n,m;    scanf("%d %d",&n,&m);    for(int i=0;i<m;++i){        int x,y;        scanf("%d %d",&x,&y);        v[x].push_back(y);        indegree[y]++;    }    int k;    scanf("%d",&k);    vector<int> res;    for(int i=0;i<k;++i){        vector<int> vx;        for(int i=0;i<n;++i){            int x;            scanf("%d",&x);            vx.push_back(x);        }        if(!isTopological(vx)) res.push_back(i);    }    int w=res.size();    for(int x:res)        --w?printf("%d ",x):printf("%d\n",x);    return 0;}
上一篇:1145. Hashing - Average Search Time (25)
下一篇:1147. Heaps (30)

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年03月19日 16时28分54秒