hdu 2647 Reward
来源:互联网 发布:java简历包装项目经验 编辑:程序博客网 时间:2024/06/11 13:02
逆拓扑排序,开始死活a不掉,后来才发现自己记录工资的方法是有问题的.....失策失策啊
#include<iostream>#include<queue>#include<vector>#include<cstdio>#define maxn 10000+100 using namespace std;vector<vector<int> >mapp;int head[maxn];int money[maxn];int n,m;void topo(){int sum=0,t=0;queue<int>root;for(int i=1;i<=n;i++){if(!head[i]) root.push(i);}//salary++;while(root.size()){int x=root.front() ;root.pop() ;int temp=money[x];//sum+=salary;t++;for(int i=0;i<mapp[x].size() ;i++){head[mapp[x][i]]--;if(!head[mapp[x][i]]) root.push(mapp[x][i]),money[mapp[x][i]]=temp+1;}//if(flag) salary++;}if(t==n){sum+=n*888;for(int i=1;i<=n;i++) sum+=money[i];cout<<sum<<endl;}else cout<<"-1"<<endl;}int main(){while(scanf("%d%d",&n,&m)!=EOF){mapp.resize(n+1);for(int i=0;i<n+1;i++) money[i]=head[i]=0,mapp[i].clear();while(m--){int x,y;cin>>x>>y;mapp[y].push_back(x);head[x]++;}topo();}return 0;}
0 0
- hdu 2647 Reward
- hdu 2647 Reward
- hdu 2647 Reward
- HDU 2647 Reward
- hdu 2647 Reward
- hdu 2647 Reward
- hdu-2647 Reward
- hdu 2647 Reward
- HDU 2647 Reward
- hdu 2647 Reward
- hdu 2647 Reward
- HDU 2647 Reward
- HDU 2647 Reward
- hdu 2647 Reward
- hdu 2647 Reward
- Hdu 2647 Reward
- hdu 2647 Reward
- HDU 2647 Reward
- .NET中使用Memcached的相关资源整理
- 絮叨絮叨吧
- 关于node.js中使用json2.js
- RMAN 验证 数据文件 和 备份 的有效性
- [Java并发编程]-线程的六种状态及其状态转换
- hdu 2647 Reward
- Oracle 实例恢复时 前滚(roll forward) 后滚(roll back) 问题
- opengl:凸包算法
- centos6.5 静态IP网络配置
- JavaScript之DOM
- 高并发的IOCP(完成端口)源码
- jsp判断加显示
- iOS之反射
- Linux下安装nginx, php, php-fpm并配置