题目链接:

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. uitableview中文排序问题

    1,uitableview中涉及到排序的问题,查找资料后发现使用UILocalizedIndexedCollation可以很好处理中文和英文系统下中文的排序.而且如果第一个汉字首字母一样那么就会按照第 ...

  2. Opencv 图片边缘检测和最小外接矩形

    #include "core/core.hpp" #include "highgui/highgui.hpp" #include "imgproc/i ...

  3. python matplotlib 绘图 和 dpi对应关系

    dpi=1 600×400 dpi=2 1200×800 dpi=3 1800×1200 ........ dpi=21 (21×600)×(21×400) ---> 12600×8400 示例 ...

  4. Android的包管理机制浅析(二)

    上篇刚好说到获取到了签名信息,以下进入安装过程,直接上源代码: private void installNewPackageLI(PackageParser.Package pkg, int pars ...

  5. PPAPI插件的动态创建、改动、删除

    一旦你完毕了PPAPI插件的开发,实际使用时可能会有下列需求: 动态创建PPAPI插件 删除PPAPI插件 改变PPAPI插件的尺寸 实现起来非常easy,从JS里直接訪问DOM(BOM)就可以.以下 ...

  6. solaris用户与文件权限管理

    此文章已于 20:45:28 2015/3/22 重新发布到 zhuxuekui3 solaris用户与文件权限管理1 类别    「网站分类」Oracle 一.用户与用户组管理 三种用户:超级用户. ...

  7. vs项目添加链接文件

    在vs2012(或以后版本)中,从一个项目中拖拽文件到另一项目,并按住alt键,会生成链接文件. 项目文件中会生成link节点. <ItemGroup> <Compile Inclu ...

  8. struts1.3中使用DispatchAction的一个问题

    近期做项目发现我们公司的项目是用struts1写的,在多方百度下,总有理解了struts1.3的DispatchAction的使用方法 一:struts.xml文件的配置 <?xml versi ...

  9. Google架构学习

    http://hideto.iteye.com/blog/130815 原文:Google Architecture Google是伸缩性的王者.Google一直的目标就是构建高性能高伸缩性的基础组织 ...

  10. webpack实用配置总结

    1.webpack.config.js配置文件为: //处理共用.通用的js var webpack = require('webpack'); //处理html模板 var htmlWebpackP ...