NYOJ 679 贪婪的商店
贪婪的商店
- 描述
-
小明星期天去一家商店买东西,看上了一个玩具,非常想买下来。但是这家商店有这样一个规定,如果要买一件物品A,可能必须要另一件物品B。而要买物品B,可能必须要买另一件物品C。直到买的这件物品不需要买其他物品为止。经过顾客抗议,商店重新决定如果买一件物品,所需要买其他物品超过一件的话,可以买其中任一件就好。小明钱不多了,他想知道如果要买这件物品,最少要花多少钱。
- 输入
-
第一行包含一个整数T(T <= 100).表示测试数据组数。
每组数据第一行包含三个整数N,M,P(1 <= P <= N <= 1000,0 <= m <= 10000),
分别表示商店物品总个数,物品之间关系数量,小明想买物品的编号。
接下来的一行包含N个整数Vi,表示第i个物品的价钱。
接下来的M行每行包含两个整数a,b(1 <= a,b <= N),表示要买物品a就可能要买物品b。 - 输出
- 输出“Case #i: ans”(不含引号),i表示第i组数据,ans表示最少花的钱数。
- 样例输入
-
2 4 4 1 1 3 2 4 1 2 2 3 2 4 3 4 4 4 2 2 1 3 4 1 2 2 4 1 3 3 4
- 样例输出
-
Case #1: 8 Case #2: 5
-
简单树型DP!
-
AC码:
-
#include<iostream> #include<cstdio> #include<vector> #include<cstring> using namespace std; #define MAX 1005 #define INF 9999999 vector<int> adj[MAX]; int dp[MAX],visit[MAX]; int weight[MAX]; int Min(int a,int b) {return a>b?b:a; } void DFS(int u) {if(visit[u])return;int len=adj[u].size(),v;if(len==0){dp[u]=weight[u];return;}for(int i=0;i<len;i++){v=adj[u][i];DFS(v);visit[v]=1;dp[u]=Min(dp[u],dp[v]+weight[u]);} } int main() {int T,i,count=1;int n,m,p,a,b;scanf("%d",&T);while(T--){scanf("%d%d%d",&n,&m,&p);for(i=0;i<=n;i++)adj[i].clear();for(i=1;i<=n;i++)scanf("%d",&weight[i]);for(i=1;i<=m;i++){scanf("%d%d",&a,&b);adj[a].push_back(b);}memset(visit,0,sizeof(visit));for(i=0;i<=n;i++)dp[i]=INF;DFS(p);printf("Case #%d: %d\n",count++,dp[p]);}return 0; }
NYOJ 679 贪婪的商店相关推荐
- 还是树形dp 也可以用最短路来写--NOJ679 贪婪的商店
其实也是简单的dp,还可以把价格看成是权值用最短路来写,求出所要买的商品到各点的商品用最短距离: 这个和376其实是一样的思路就是用深搜的. 点击打开链接 #include <stdio.h&g ...
- NYOJ 679 The Weight of Tree 搜索+dp+邻接表
The Weight of Tree 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 456 has a tree of n nodes, each node is as ...
- 00002 贪婪洞窟.003.5:地牢商店
00002 贪婪洞窟.003.5:地牢商店 地牢商店在shopincave.plist中定义.格式如下: { 6001= { 1= { gems= 1; itemId= 10030; num= ...
- nyoj 47 江 河问题 【贪婪】
经典的贪婪. 两种方案:一个:让我们来最快,第二快,在过去的第一,最快的回.然后最慢,最慢第二,在过去.次最快的回来a[0]+a[1]+a[1]+a[n-1] 二:最快的和最慢的过去,最快的回来,最快 ...
- 贪婪洞窟2服务器维护,《贪婪洞窟2》11月30日更新维护多久 贪婪洞窟2更新维护公告...
原标题:<贪婪洞窟2>11月30日更新维护多久 贪婪洞窟2更新维护公告 斗玩网(d.chinaz.com)报道:<贪婪洞窟2> 11 月 30 日更新维护多久?一起来看看贪婪洞 ...
- 贪婪洞窟2服务器维护,贪婪洞窟211月30日更新维护公告 贪婪洞窟211月30日更新了那些内容...
原标题:贪婪洞窟211月30日更新维护公告 贪婪洞窟211月30日更新了那些内容 斗玩网(d.chinaz.com)报道:<贪婪洞窟 2>11 月 30 日更新维护公告,<贪婪洞窟 ...
- 00002 贪婪洞窟.001
00002贪婪洞窟.001 地牢类游戏我喜欢的有不少,比如<厕所穿越记>.<地下城冒险>等等,以及这次的研究对象<贪婪洞窟>. 从玩法上来说,<贪婪洞窟> ...
- 雷军:努力工作,克制贪婪,是世界上最笨也最高明的办法
本文转载自:谷仓产品家 2017 年 11 月 2 日到 3 日,小米投资年会在成都召开.本文根据小米公司创始人.董事长,顺为资本创始合伙人雷军在会上的讲话整理,有删节. 演讲速记 创业并不光鲜, ...
- 00002 贪婪洞窟.003
00002 贪婪洞窟.003 我玩贪婪洞窟的时间不多,对其的了解也不多,对其配置文件的研究也只是走马观花,因此,一些设想可能根本就无法实现.而且本人只有半瓶水的水平,又有点急性子,难免出错.遇到 ...
最新文章
- java list键值_java基础之对List,Map,Set等集合键值对的简单认识
- kettle分批处理大表数据_kettle-批量同步表数据
- 神秘的subsys_initcall【转】
- mysql long varchar2_long查询结果转换为varchar2类型
- 【Spring MVC】 maven pom.xml 错误: Cannot upgrade/downgrade to Dynamic Web Module 3.0 facet.
- PUSHAD和POPAD,以及PUSHA和POPA
- struct cdev结构体和cdev_init和cdev_add函数
- 直播丨 SQL大赛冠军怀晓明:深入解析Oracle存储过程中的性能瓶颈
- Linux 双网卡绑定方法
- 因式分解题目及过程_【数学.天问】为什么有些题目一看就会,一做就废?是不是你的手有自己的想法?...
- “你的深度学习框架包含15个漏洞”,360说 | 附论文
- 苹果自带的清理软件_苹果电脑清理软件哪个好|电脑|苹果电脑|mac|旧文件
- 解决办法:undefined reference to symbol 'shm_open@@GLIBC_2.2.5'
- Verilog初级教程(10)Verilog的always块
- dw网页制作教程百度云盘_Dreamweaver网页制作教程
- 台达PLC开发笔记(一):台达PLC连接介绍,分别使用485、网口与台达PLC建立连接
- 三维可视化技术在智慧电厂中的作用
- Unity HDRP Volume框架 — Lighting(光照)
- DFS DBS算法
- 表白墙源码/可用作博客论坛都是不错的