题目链接:

hdu-2647

/*Problem : 2647 ( Reward )     Judge Status : Accepted
RunId : 16919085 Language : G++ Author : 2014300227
Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta*/
#include <bits/stdc++.h>
using namespace std;
const int N=1e4+;
typedef long long ll;
const ll mod=1e9+;
int n,m,ind[N],u,v,vis[N];
vector<int>ve[N];
struct node
{
int num,pri;
};
node temp;
queue<node>qu;
int main()
{
while(scanf("%d%d",&n,&m)!=EOF)
{
ll ans=;
for(int i=;i<=n;i++)
{
ve[i].clear();
vis[i]=ind[i]=;
}
for(int i=;i<m;i++)
{
scanf("%d%d",&u,&v);
ve[v].push_back(u);
ind[u]++;
}
for(int i=;i<=n;i++)
{
if(!ind[i])
{
temp.num=i;
temp.pri=;
qu.push(temp);
}
}
int cnt=n;
while(!qu.empty())
{
node fr=qu.front();
ans+=(ll)fr.pri;
qu.pop();
cnt--;
int len=ve[fr.num].size();
for(int i=;i<len;i++)
{
int y=ve[fr.num][i];
ind[y]--;
if(ind[y]==)
{
temp.num=y;
temp.pri=fr.pri+;
qu.push(temp);
}
}
}
if(cnt==)printf("%lld\n",ans);
else printf("-1\n");
}
return ;
}

hdu-2049

/*Problem : 2094 ( 产生冠军 )     Judge Status : Accepted
RunId : 16919272 Language : G++ Author : 2014300227
Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta*/
#include <bits/stdc++.h>
using namespace std;
const int N=1e4+;
typedef long long ll;
const ll mod=1e9+;
int n,ind[N];
map<string,int>mp;
vector<int>ve[N];
string str1[N],str2[N];
int main()
{
while()
{
scanf("%d",&n);
if(n==)break;
for(int i=;i<=n;i++)
{
ve[i].clear();
ind[i]=;
}
int cnt=;
for(int i=;i<n;i++)
{
cin>>str1[i]>>str2[i];
if(mp[str1[i]]==)mp[str1[i]]=cnt++;
if(mp[str2[i]]==)mp[str2[i]]=cnt++;
int u=mp[str1[i]],v=mp[str2[i]];
ve[u].push_back(v);
ind[v]++;
}
int num=;
for(int i=;i<cnt;i++)
{
if(!ind[i])
{
num++;
}
}
if(num!=)printf("No\n");
else printf("Yes\n");
for(int i=;i<n;i++)
{
mp[str1[i]]=;
mp[str2[i]]=;
} }
return ;
}

hdu-3342

/*Problem : 2647 ( Reward )     Judge Status : Accepted
RunId : 16919085 Language : G++ Author : 2014300227
Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta*/
#include <bits/stdc++.h>
using namespace std;
const int N=1e4+;
typedef long long ll;
const ll mod=1e9+;
int n,m,ind[N],u,v,vis[N];
vector<int>ve[N];
struct node
{
int num,pri;
};
node temp;
queue<node>qu;
int main()
{
while(scanf("%d%d",&n,&m)!=EOF)
{
ll ans=;
for(int i=;i<=n;i++)
{
ve[i].clear();
vis[i]=ind[i]=;
}
for(int i=;i<m;i++)
{
scanf("%d%d",&u,&v);
ve[v].push_back(u);
ind[u]++;
}
for(int i=;i<=n;i++)
{
if(!ind[i])
{
temp.num=i;
temp.pri=;
qu.push(temp);
}
}
int cnt=n;
while(!qu.empty())
{
node fr=qu.front();
ans+=(ll)fr.pri;
qu.pop();
cnt--;
int len=ve[fr.num].size();
for(int i=;i<len;i++)
{
int y=ve[fr.num][i];
ind[y]--;
if(ind[y]==)
{
temp.num=y;
temp.pri=fr.pri+;
qu.push(temp);
}
}
}
if(cnt==)printf("%lld\n",ans);
else printf("-1\n");
}
return ;
}

hdu-2647 Reward && hdu-2049产生冠军 &&hdu-3342Legal or Not(拓扑排序)的更多相关文章

  1. ACM: hdu 2647 Reward -拓扑排序

    hdu 2647 Reward Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Des ...

  2. HDU.2647 Reward(拓扑排序 TopSort)

    HDU.2647 Reward(拓扑排序 TopSort) 题意分析 裸的拓扑排序 详解请移步 算法学习 拓扑排序(TopSort) 这道题有一点变化是要求计算最后的金钱数.最少金钱值是888,最少的 ...

  3. 题解报告:hdu 2647 Reward(拓扑排序)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2647 Problem Description Dandelion's uncle is a boss ...

  4. hdu 2647 Reward

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2647 Reward Description Dandelion's uncle is a boss o ...

  5. HDU 2647 Reward (拓扑排序)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2647 题意是给你n点m条有向边,叶子点(出度为0)上的值为888,父亲点为888+1,依次计算... ...

  6. HDU 2647 Reward(拓扑排序+判断环+分层)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2647 题目大意:要给n个人发工资,告诉你m个关系,给出m行每行a b,表示b的工资小于a的工资,最低工 ...

  7. HDU 2647 Reward【反向拓扑排序】

    Reward Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  8. HDU——2647 Reward

    Reward Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  9. HDU 2647 Reward(图论-拓扑排序)

    Reward Problem Description Dandelion's uncle is a boss of a factory. As the spring festival is comin ...

  10. hdu 2647 Reward(拓扑排序,反着来)

    Reward Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submis ...

随机推荐

  1. Data.FireDACJSONReflect单元不支持跨平台

    Data.FireDACJSONReflect不支持跨平台 Data.FireDACJSONReflect里面:IFDJSONDeltasApplyUpdates,TFDJSONDeltas,TFDJ ...

  2. Unity -- 用EasyAR制作出AR红包

    第一部分:前言 实现功能:打开APP或运行该demo后,会从天而降红包,有些红包是空的(大一点的),抖动的红包里面“有钱”,点击之后会产生相应的交互.   第二部分:预览 所用到的资源:   红包模型 ...

  3. sshpass结合ssh和scp可以自动完成密码登录,无需手动输入密码

    使用方法: 1.sshpass -p 123456 ssh admin@1.1.1.1 "touch file"  远程创建文件file 2.sshpass -p 123456 s ...

  4. linux系统中mysql自动备份脚本

    mysql数据库中存储着网站最核心最宝贵的数据,如果因为不可预测的原因导致数据损坏或丢失,对一个网站的打击是毁灭性的,一次又一次的教训提醒着我们一定要做好备份,但是手工备份确实比较麻烦,每天都要手工操 ...

  5. iOS加急审核之2015年总结

    就在今天到公司的一会,查看了一下邮件,收到Apple的回复,今年的第六次加急审核通过了. 然后,想想明天就是西方的圣诞节假期了,从22日到29日的这段时间,Apple会暂时关闭iTunesconnec ...

  6. C - The C Answer (2nd Edition) - Exercise 1-16

    /* Revise the main routine of the longest-line program so it will correctly print the length of arbi ...

  7. ggplot2-为图形加入直线

    本文更新地址:http://blog.csdn.net/tanzuozhev/article/details/51112057 本文在 http://www.cookbook-r.com/Graphs ...

  8. LinearLayout具体解释三:LayoutInflater创建View过程分析

    上次讲到以下这么一段代码,这段代码的作用就是解析xml文件成为view并显示到屏幕上的. @Override //设置contentview,也就是activity或fragment载入视图,即vie ...

  9. 最新ssh2构架

    构架要求: 1.最新ssh2jar包. 2.使用全注解. 3.给锁机制 4.缓存. 5.使用权限构架. 6. 前台构架用bootstraps. 今天任务: 搭建php环境.看代码.整理ssh2架构. ...

  10. 数据库历险记(三) | 缓存框架的连环炮 数据库历险记(二) | Redis 和 Mecached 到底哪个好? 数据库历险记(一) | MySQL这么好,为什么还有人用Oracle? 面对海量请求,缓存设计还应该考虑哪些问题?

    数据库历险记(三) | 缓存框架的连环炮   文章首发于微信公众号「陈树义」,专注于 Java 技术分享的社区.点击链接扫描二维码,与500位小伙伴一起共同进步.微信公众号二维码 http://p3n ...