题目链接:

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. 邁向IT專家成功之路的三十則鐵律 鐵律二十九 IT人富足之道-信仰

    天地自然的循環法則,讓每一個人都必須經歷生.老.病.死.喜.怒.哀.樂,然而至始至終無盡的煩惱總是遠多於快樂,因此筆者深信每一個人在一生當中,都必須要有適合自己的正確信仰,他可以在你無法以物質力量來解 ...

  2. Android View 测量流程(Measure)完全解析

    前言 上一篇文章,笔者主要讲述了DecorView以及ViewRootImpl相关的作用,这里回顾一下上一章所说的内容:DecorView是视图的顶级View,我们添加的布局文件是它的一个子布局,而V ...

  3. Android自己定义组件系列【6】——进阶实践(3)

    上一篇<Android自己定义组件系列[5]--进阶实践(2)>继续对任老师的<可下拉的PinnedHeaderExpandableListView的实现>进行了分析,这一篇计 ...

  4. 上传图片/文件到server

    package yao.camera.util; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; impo ...

  5. 机器学习(Machine Learning)&amp;深度学习(Deep Learning)资料

    机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008 ...

  6. Flash文字效果

    flash中增加文本.使用了消除锯齿:可读性消除锯齿.发现不嵌入字体的无法动态改动里面的文字,但嵌入字体的话会造成swf文件过大. 终于还是选择了使用设备字体,并选择了黑体.出了一个问题.文字没有加粗 ...

  7. Nginx学习——进程模型(master 进程)

    进程模型 Nginx分为Single和Master两种进程模型.Single模型即为单进程方式工作,具有较差的容错能力,不适合生产之用.Master模型即为一个master进程+N个worker进程的 ...

  8. 按照HashMap中value值进行排序

    import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; ...

  9. HDU 5313 Bipartite Graph(二分图染色+01背包水过)

    Problem Description Soda has a bipartite graph with n vertices and m undirected edges. Now he wants ...

  10. 【BZOJ4956】lydsy七月月赛 I 乱搞

    [BZOJ4956]lydsy七月月赛 I 题面 题解:傻题,Floyd传递闭包即可~ #include <cstdio> #include <cstring> #includ ...