SOJ 1424奖金
来源:互联网 发布:剑灵夕颜捏脸数据 编辑:程序博客网 时间:2024/05/11 03:06
Description
由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Yali Company总经理Mr.Z心情好,决定给每位员工发奖金。公司决定以每个人本年在公司的贡献为标准来计算他们得到奖金的多少。
于是Mr.Z下令召开m方会谈。每位参加会谈的代表提出了自己的意见:“我认为员工a的奖金应该比b高!”Mr.Z决定要找出一种奖金方案,满足各位代表的意见,且同时使得总奖金数最少。每位员工奖金最少为100元。
【数据范围】
数据满足n<=10000,m<=20000。
Input
第一行两个整数n,m,表示员工总数和代表数,员工编号从1到n;
以下m行,每行2个整数a,b(1<=a,b<=n),表示某个代表认为第a号员工奖金应该比第b号员工高。
Output
若无法找到合法方案,则输出“Poor Xed”;否则输出一个数表示最少总奖金。
#include<iostream>#include<set>#include<vector>using namespace std;#define Max 10009 // 定义常量的时候不用加分号set<int> s;vector<int> inc[Max]; //记录邻接点int in[Max]; //记录每个点的入度int salary[Max];int main(){/* code */ int n,m; bool nocycle; cin>>n>>m; nocycle=true; s.clear();for (int i = 0; i <= n; ++i) //又是这里的初始化问题{/* code */inc[i].clear();salary[i]=100;in[i]=0;}for (int i = 0; i < m; ++i){/* code */int a,b;cin>>a>>b; inc[b].push_back(a); in[a]++;}for (int i = 1; i <= n; ++i){/* code */if(in[i]==0){s.insert(i);}}while(!s.empty()){int temp=*s.begin();//cout<<temp<<" is temp"<<endl; s.erase(s.begin()); for (int i = 0; i < inc[temp].size() ; ++i) { /* code */ if(salary[inc[temp][i]]<=salary[temp]) salary[inc[temp][i]]=salary[temp]+1; in[inc[temp][i]]--; if(in[inc[temp][i]]==0) s.insert(inc[temp][i]); }}int sum=0;for (int i = 1; i <= n; ++i){/* code */if(in[i]!=0){nocycle=false;break;}else sum+=salary[i];//cout<<salary[i]<<" is "<<i<<"'s salary"<<endl;}if(nocycle)cout<<sum<<endl;else cout<<"Poor Xed"<<endl;//system("PAUSE");return 0;}
- SOJ 1424奖金
- SOJ 1424 奖金
- sicily 1424 奖金..
- 奖金
- soj
- Sicily 1424 奖金(拓扑排序)
- 奖金考核办法
- 发奖金
- 奖金计算
- 关于奖金
- Sicily1424. 奖金
- 求奖金
- 1004. 奖金
- 奖金提成
- 奖金提成
- Sicily1424-奖金
- 计算奖金
- 1424. 奖金
- 黑马程序员——Java高新技术(2)
- 黑马程序员-Java-图形化界面-day22
- 如何进行自我管理?
- objective c 内存管理
- c++ primer 学习笔记:类之构造函数
- SOJ 1424奖金
- 再读LDD3前言
- 数据库重复加载问题
- hdu(2260) Accepted Necklace
- 腾讯QQ群自动采集 工具,纯网页版。需要登录 JSON方式
- JAVA ACM 基础
- 黑马程序员------C#参数
- paip.cpu占用高解决方案---ThreadMast 跟Process Lasso的使用
- android 内存溢出问题分析