HDU 2647 Reward(拓扑排序)

来源:互联网 发布:幼师考试软件 编辑:程序博客网 时间:2024/04/26 08:42
#include<bits/stdc++.h>using namespace std;int n,m,visit[10005],num[10005],topo[10005];vector<int>map1[10005];int dfs(int u){    visit[u]=-1;    int max1=0;    for(int i=0;i<map1[u].size();i++)    {        int v=map1[u][i];        if(visit[v]==-1) return -1;        else if(!visit[v])        {            int x=dfs(v);            if(x==-1)                return -1;            else            {                max1=max(max1,x+1);            }        }    }    visit[u]=0;    if(topo[u]==0)    {        num[u]=888;        return 888;    }    else    {        num[u]=max1;        return max1;    }}bool toposort(){    for(int i=1;i<=n;i++)    {        if(!visit[i])        {            if(dfs(i)==-1)                return false;        }    }    return true;}int main(){    int x,y;    while(cin>>n>>m)    {        memset(visit,0,sizeof(visit));        memset(num,0,sizeof(num));        memset(topo,0,sizeof(topo));        for(int i=1;i<=m;i++)        {            cin>>x>>y;            map1[x].push_back(y);            topo[x]++;        }        if(toposort())        {            int sum=0;            for(int i=1;i<=n;i++)                sum+=num[i];            cout<<sum<<endl;        }        else        {            cout<<-1<<endl;        }        for(int i=1;i<=n;i++)            map1[i].clear();    }    return 0;}

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 龙猫不吃粗的主粮怎么办 转龙猫中暑症状+龙猫中暑怎么办 火车上空调太冷怎么办 格力空调太冷怎么办 未满月龙猫宝宝怎么办 房间小空调太冷怎么办 奶猫半夜不睡觉怎么办 龙猫不喜欢吃草粒怎么办 龙猫一直在发抖怎么办 龙猫牙齿掉了怎么办 龙猫晚上很吵怎么办 小狗把手咬破了怎么办 夏天仓鼠太热了怎么办 仓鼠玩转轮会摔怎么办 如何发截图不会发现吐怎么办 嘴巴烂了药过敏怎么办 非法校车被扣了怎么办 手指削掉一块肉怎么办 在广州误走brt道怎么办 平安eq测试没过怎么办 物业在小区私自建房怎么办 婚后父母出钱买房离婚怎么办 情人忙工作没时间约会怎么办 情人很忙不主动联系我怎么办 丈夫毫不关心基督徒妻子怎么办 眼睛太小怎么办不整容 被野生猴子咬了怎么办 被野猴子抓伤了怎么办 孩子入学前疫苗补不全怎么办 额头肤色比脸黑怎么办 高跟鞋小了挤脚怎么办 老板欠工人工资不给怎么办 小孩吃了生豆子怎么办 拍夜晚的天空太亮怎么办 购房发票字体不清晰怎么办 接到客人电话预定时怎么办 产检资料弄丢了怎么办 工作中同事喜欢争风头怎么办 想出卖身体赚钱了怎么办 孩子生下来不想要了怎么办 舌头被铁管冻住怎么办