HELLO WORLD--一起加油(🍺)!|

kingwzun

园龄:3年6个月粉丝:111关注:0

7-5 任务调度的合理性 (25 分)

题意

简单拓扑排序查找是否成环。

代码

#include <bits/stdc++.h>
using namespace std;
int dis[105][105], ru[105];
int n;
void Tsort(){
int cnt=0;
int flag=1;
while(flag){
flag=0;
for(int i=1;i<=n;i++){
if(!ru[i]){
ru[i]--;
cnt++;
flag=1;
for(int j=1;j<=n;j++){
if(dis[i][j]!=-1){
if(ru[j]) ru[j]--;
}
}
}
}
}
if(cnt==n) cout<<"1"<<endl;
else cout<<"0"<<endl;
}
int main()
{
memset(dis,-1,sizeof dis);
cin>>n;
for(int i=1;i<=n;i++){
int k; cin>>k;
ru[i]=k;
for(int j=0;j<k;j++){
int t;
cin>>t;
dis[t][i]=1;
//注意一下,输入的依赖集合,不要赋值错误
}
}
Tsort();
return 0;
}

本文作者:kingwzun

本文链接:https://www.cnblogs.com/kingwz/p/15599801.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   kingwzun  阅读(155)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起