hdu2647
来源:互联网 发布:lua php 性能 编辑:程序博客网 时间:2024/06/11 16:54
/*
分析:
C提交中排第一,哦耶~
刚开始害怕一个人可能有多个指向呢,开了10011*666的数组,
ac后又试了试,其实10011*15就够了……
逆向拓扑排序,关系递推,注意有一个环节要取最大值哦~
2012-07-17
*/
分析:
C提交中排第一,哦耶~
刚开始害怕一个人可能有多个指向呢,开了10011*666的数组,
ac后又试了试,其实10011*15就够了……
逆向拓扑排序,关系递推,注意有一个环节要取最大值哦~
2012-07-17
*/
#include"stdio.h"#include"string.h"struct A{int ts;int outdegree;int total;int mem[15];}E[10011];int max(int a,int b){return a>b?a:b;}int topsort(int n){int k,i,j;int flag;int temp;k=0;while(k<n){flag=0;for(i=1;i<=n;i++){if(E[i].outdegree==0){E[i].outdegree--;temp=E[i].ts+1;for(j=0;j<E[i].total;j++){E[E[i].mem[j]].outdegree--;E[E[i].mem[j]].ts=max(temp,E[E[i].mem[j]].ts);}flag=1;k++;}}if(flag==0)return 1;}return 0;}int main(){int n,m;int i;int a,b;int flag;int ans;while(scanf("%d%d",&n,&m)!=-1){for(i=1;i<=n;i++)E[i].ts=E[i].total=E[i].outdegree=0;while(m--){scanf("%d%d",&a,&b);E[a].outdegree++;E[b].mem[E[b].total++]=a;}flag=topsort(n);if(flag){printf("-1\n");continue;}ans=0;for(i=1;i<=n;i++)ans+=E[i].ts;ans+=888*n;printf("%d\n",ans);}return 0;}
- hdu2647
- hdu2647
- hdu2647
- hdu2647
- hdu2647
- hdu2647
- hdu2647
- HDU2647
- HDU2647 Reward
- hdu2647:Reward
- HDU2647---Reward
- hdu2647 Reward
- HDU2647-Reward
- 拓扑排序hdu2647
- hdu2647 Reward (拓扑排序)
- hdu2647 && TOJ3648 Reward
- hdu2647解题报告
- hdu2647 拓扑排序
- 面向对象与过程的区别
- poi-3.8-20120326.jar下载地址
- 让Visual Studio 2008 和 2010支持Web Services Enhancements (WSE) 3.0
- 性能优化
- CTime和DWORD类型的相互转换
- hdu2647
- zoj 1019 Illusive Chase
- 档案查询网址
- 编解ASCII码
- python路径文件api
- 合作开发的要求
- PHP adstract抽象类与抽象方法
- 在数组中找出3个数使得它们和为0
- 摄像机系统移植流程