• 4040 EZ系列之奖金 (拓扑)


    4040 EZ系列之奖金

     

    时间限制: 1 s
    空间限制: 64000 KB
    题目等级 : 钻石 Diamond
     
     
     
     
    题目描述 Description

    由于无敌的WRN在2015年世界英俊帅气男总决选中胜出,EZ总经理Mr.Lin心情好,决定给每位员工发奖金。EZ决定以每个人本年在EZ的贡献为标准来计算他们得到奖金的多少。

    于是Mr.Lin下令召开m方会谈。每位参加会谈的代表提出了自己的意见:“我认为学生a的奖金应该比b高!”Mr.Lin决定要找出一种奖金方案,满足各位代表的意见,且同时使得总奖金数最少。每位学生奖金最少为100元。

    输入描述 Input Description

    第一行两个整数n,m,表示学生总数和代表数;

    以下m行,每行2个整数a,b,表示某个代表认为第a号学生奖金应该比第b号学生高。

    输出描述 Output Description

    若无法找到合法方案,则输出“-1”;否则输出一个数表示最少总奖金。

    样例输入 Sample Input

    2 1

    1 2

    样例输出 Sample Output

    201

    数据范围及提示 Data Size & Hint

    80%的数据满足n<=1000,m<=2000

    100%的数据满足n<=10000,m<=20000

     1 #include<iostream>
     2 using namespace std;
     3 #define N 10010
     4 int ru[N];  //记录入度 
     5 int tmp[N][N];  
     6 int stack[N];  
     7 int sum,k,c,n,m;
     8 bool tuopu()
     9 {
    10     while(c<n)
    11     {
    12         m=0;
    13         for(int i=1;i<=n;++i)
    14             if(ru[i]==0)
    15             {
    16                 ++m;
    17                 ++c;
    18                 sum+=100;
    19                 stack[m]=i;
    20                 ru[i]=0xfffffff;
    21             }
    22         if(m==0)return false;
    23         sum+=(k*m);
    24         k++;
    25         for(int i=1;i<=m;++i)
    26         {
    27             int d=stack[i];
    28             for(int j=1;j<=tmp[d][0];++j)
    29             ru[tmp[d][j]]--;
    30         }
    31     }
    32     return true;    
    33 }
    34 int main()
    35 {
    36     cin>>n>>m;
    37     for(int x,y,i=1;i<=m;++i)
    38     {
    39         cin>>x>>y;
    40         tmp[y][++tmp[y][0]]=x;
    41         ru[x]++;
    42     }
    43     if(tuopu())cout<<sum;
    44     else cout<<"-1";
    45     return 0;
    46 }
  • 相关阅读:
    基于Lumisoft.NET实现的邮件发送功能
    jqueryautocomplete 使用手册
    asp.net访问网络路径方法模拟用户登录
    JavaScript判断浏览器类型及版本
    解决jquery.autocomplete在IE6下被下拉框遮住的问题
    How to resovle aspnet_merge.exe error issue in web deployment project
    敏捷开发之Scrum扫盲篇
    JS 异常: Uncaught RangeError: Maximum call stack size exceeded
    HTTP请求的 转发 重定向 代理
    JS跨域访问 控制
  • 原文地址:https://www.cnblogs.com/mjtcn/p/6709887.html
Copyright © 2020-2023  润新知