昂贵的聘礼
Time Limit: 1000MS   Memory Limit: 10000K
Total Submissions: 30252   Accepted: 8465

Description

年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:"嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。"探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币来换,或者替他弄来其他的东西,他可以降低价格。探险家于是又跑到其他地方,其他人也提出了类似的要求,或者直接用金币换,或者找到其他东西就可以降低价格。不过探险家没必要用多样东西去换一样东西,因为不会得到更低的价格。探险家现在很需要你的帮忙,让他用最少的金币娶到自己的心上人。另外他要告诉你的是,在这个部落里,等级观念十分森严。地位差距超过一定限制的两个人之间不会进行任何形式的直接接触,包括交易。他是一个外来人,所以可以不受这些限制。但是如果他和某个地位较低的人进行了交易,地位较高的的人不会再和他交易,他们认为这样等于是间接接触,反过来也一样。因此你需要在考虑所有的情况以后给他提供一个最好的方案。 
为了方便起见,我们把所有的物品从1开始进行编号,酋长的允诺也看作一个物品,并且编号总是1。每个物品都有对应的价格P,主人的地位等级L,以及一系列的替代品Ti和该替代品所对应的"优惠"Vi。如果两人地位等级差距超过了M,就不能"间接交易"。你必须根据这些数据来计算出探险家最少需要多少金币才能娶到酋长的女儿。 

Input

输入第一行是两个整数M,N(1 <= N <= 100),依次表示地位等级差距限制和物品的总数。接下来按照编号从小到大依次给出了N个物品的描述。每个物品的描述开头是三个非负整数P、L、X(X < N),依次表示该物品的价格、主人的地位等级和替代品总数。接下来X行每行包括两个整数T和V,分别表示替代品的编号和"优惠价格"。

Output

输出最少需要的金币数。

Sample Input

1 4
10000 3 2
2 8000
3 5000
1000 2 1
4 200
3000 2 1
4 200
50 2 0

Sample Output

5250

Source

浙江
最短路。。。
其实题目是说等级差距不能超过M。
我的做法是枚举区间。。。。
多次进行单源最短路
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>using namespace std;const int INF=0x3f3f3f3f;
const int N=110;int m,n;
int dis[N],vis[N],G[N][N],g[N][N];
int pri[N],lev[N];void Dijkstra(int src){int i;for(i=1;i<=n;i++){dis[i]=g[src][i];vis[i]=0;}dis[src]=0;vis[src]=1;int j,k,tmp;for(i=1;i<=n;i++){tmp=INF;for(j=1;j<=n;j++)if(!vis[j] && tmp>dis[j]){tmp=dis[j];k=j;}if(tmp==INF)break;vis[k]=1;for(j=1;j<=n;j++)if(!vis[j] && dis[j]>dis[k]+g[k][j])dis[j]=dis[k]+g[k][j];}
}int main(){//freopen("input.txt","r",stdin);while(~scanf("%d%d",&m,&n)){int i,j;for(i=1;i<=n;i++)for(j=1;j<=n;j++)G[i][j]=INF;int k,v;for(i=1;i<=n;i++){scanf("%d%d%d",&pri[i],&lev[i],&k);while(k--){scanf("%d%d",&j,&v);if(G[i][j]>v)G[i][j]=v;}}int ans=INF;for(k=max(0,lev[1]-m);k<=lev[1]+m;k++){for(i=1;i<=n;i++)for(j=1;j<=n;j++)if(lev[i]>=k && lev[i]<=k+m && lev[j]>=k && lev[j]<=k+m)g[i][j]=G[i][j];elseg[i][j]=INF;Dijkstra(1);for(i=1;i<=n;i++)ans=min(ans,dis[i]+pri[i]);}printf("%d\n",ans);}return 0;
}

POJ 1062 昂贵的聘礼相关推荐

  1. POJ 1062 昂贵的聘礼【经典的最短路问题】

    原题链接:http://poj.org/problem?id=1062 我的链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=19651 ...

  2. 解题报告:POJ - 1062 昂贵的聘礼(最短路、超级源点)

    整理的算法模板合集: ACM模板 AcWing 903. 昂贵的聘礼 [思路] 由于本题只有终点,没有起点,所以我们建一个超级源点S=0S = 0S=0 ,源点与各各点的权值就是他们的价格 如下图所示 ...

  3. POJ 1062 昂贵的聘礼 (dijkstra)

    昂贵的聘礼 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低要求.酋长说 ...

  4. POJ #1062 昂贵的聘礼 有限制的最短路 枚举+dijkstra求最短路

    Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低 ...

  5. POJ 1062.昂贵的聘礼

    Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低 ...

  6. POJ - 1062 昂贵的聘礼

    题目链接 Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请 ...

  7. POJ 1062 昂贵的聘礼

    一.内容 某天超市搞活动,小明想买一个自己一直想买的电脑,平时需要7000,小明觉得太贵了.但活动当天,超市里的商品可以通过买其他商品获得优惠券.例如买一个键盘然后买电脑只需要5000,如果买一个鼠标 ...

  8. * poj 1062 昂贵的礼物 dijkstra 枚举区间

    思路参考大佬 https://blog.csdn.net/lyy289065406/article/details/6645852 每个物品看成一个节点,酋长的允诺也看作一个物品, 如果一个物品加上金 ...

  9. PKU 1062 昂贵的聘礼

    /* 枚举等级范围, 每种情况求最短路 */ #include <iostream> #include <queue> #define MAXN 101 using names ...

最新文章

  1. 我在兰亭这三年之AutoDiff自动化测试框架
  2. 职业选择测试发型软件,发型师必看的10条职业经验
  3. oracle12c默认字符集,修改Oracle【12C】字符集
  4. 面试造飞机系列:volatile面试的连环追击,你还好吗?
  5. 资源放送丨《 如何通过APEX实现数据库自动晨检功能 - 2020云和恩墨大讲堂》PPT视频
  6. 故宫4天门票已售罄 五一假期大家都去哪儿“看一看”了?
  7. 基于微信教室图书馆座位预约小程序毕业设计毕设作品(6)开题答辩PPT
  8. Elasticsearch 相关知识
  9. 年仅 28 岁就宣布从字节跳动退休?
  10. PM2.5的加重,和建筑工地关系大不大?(附扬尘治理方案)
  11. postman面试_接口测试面试常见问题
  12. 移动端自动化测试实战(一)
  13. 加拿大计算机竞赛答案,加拿大数学和计算机竞赛.doc
  14. Android专业获取设备信息如:AndroidID、唯一设备ID、制造商、型号、版本号、版本码等
  15. Linux pip安装与使用
  16. 近期准备秋招的一些体会
  17. python 请假审批系统_基于工作流的请假审批系统设计与实现
  18. 一点经验分享:软件安装常见问题及管理...(文末附带重装系统)
  19. 思迅商云8数据库修复/商超软件数据库恢复
  20. Ogre 天龙八部地形 Heightmap(高度图)+GridInfo(地表信息)初步结果

热门文章

  1. jupyter写python的时候换行总是换到下一行的中间
  2. 【专家观点】刘经南院士:北斗+5G为何能引领新基建?
  3. 无言的鞭策:日本20年19人获自然科学诺奖
  4. 【工业互联网】全球工业互联网十大最具成长性技术展望(2019-2020年)
  5. 专设AI周会 高管悉数到场 微软CEO有多重视人工智能?
  6. 华为云BU总裁:如何把AI从噱头变为生产力?
  7. 任正非最新讲话透露:华为在加快开发统一的人工智能平台
  8. 奔溃啦~有什么软件适合 Java 程序编写? | 每日趣闻
  9. [二十五]JavaIO之RandomAccessFile
  10. Linux监控命令之==free