题目传送门

 /*
最短路:Dijkstra算法,首先依照等级差距枚举“删除”某些点,即used,然后分别从该点出发生成最短路
更新每个点的最短路的最小值
注意:国王的等级不一定是最高的:)
*/
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <map>
#include <vector>
#include <cstring>
#include <string>
using namespace std; const int MAXN = 1e2 + ;
const int INF = 0x3f3f3f3f; int d[MAXN];
int cost[MAXN][MAXN];
int x[MAXN];
int lv[MAXN];
int used[MAXN]; int Dijkstra(int n)
{
for (int i=; i<=n; ++i) d[i] = cost[][i]; for (int i=; i<=n; ++i)
{
int x = ;
int mn = INF;
for (int j=; j<=n; ++j)
{
if (!used[j] && d[j] < mn) mn = d[x=j];
}
if (x == ) break;
used[x] = ;
for (int j=; j<=n; ++j)
{
if (!used[j] && cost[x][j] > )
d[j] = min (d[j], d[x] + cost[x][j]);
}
} return d[];
} int main(void) //POJ 1062 昂贵的聘礼
{
//freopen ("C.in", "r", stdin); int n, m; while (~scanf ("%d%d", &m, &n))
{
memset (used, , sizeof (used));
memset (d, , sizeof (d));
memset (cost, , sizeof (cost));
for (int i=; i<=n; ++i)
{
scanf ("%d%d%d", &cost[][i], &lv[i], &x[i]);
for (int j=; j<=x[i]; ++j)
{
int t, u;
scanf ("%d%d", &t, &u);
cost[t][i] = u;
}
} int tmp, ans = INF, maxlv;
for (int i=; i<=n; ++i)
{
maxlv = lv[i];
for (int j=; j<=n; ++j)
{
if (lv[j] > maxlv || maxlv - lv[j] > m) used[j] = ;
else used[j] = ;
}
tmp = Dijkstra (n);
ans = min (ans, tmp);
} printf ("%d\n", ans);
} return ;
}

最短路(Dijkstra) POJ 1062 昂贵的聘礼的更多相关文章

  1. POJ 1062 昂贵的聘礼(图论,最短路径)

    POJ 1062 昂贵的聘礼(图论,最短路径) Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女 ...

  2. poj 1062 昂贵的聘礼 (dijkstra最短路)

    题目链接:http://poj.org/problem?id=1062 昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submission ...

  3. POJ - 1062 昂贵的聘礼(最短路Dijkstra)

    昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000KB 64bit IO Format: %I64d & %I64u SubmitStatus Descr ...

  4. 最短路POJ 1062 昂贵的聘礼

    C - 昂贵的聘礼 Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit St ...

  5. POJ 1062 昂贵的聘礼(带限制条件的dijkstra)

    题目网址:http://poj.org/problem?id=1062 题目: 昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submis ...

  6. POJ 1062 昂贵的聘礼 (最短路)

    昂贵的聘礼 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/M Description 年轻的探险家来到了一个印第安部落里.在那里 ...

  7. poj 1062 昂贵的聘礼 (有限制的最短路)

    昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 56594   Accepted: 17083 Descripti ...

  8. POJ 1062 昂贵的聘礼(最短路中等题)

    昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 51879   Accepted: 15584 Descripti ...

  9. POJ 1062 昂贵的聘礼

    C - 昂贵的聘礼 Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit St ...

随机推荐

  1. 第20章 使用LNMP架构部署动态网站环境

    章节概述: 本章节将从Linux系统的软件安装方式讲起,带领读者分辨RPM软件包与源码安装的区别.并能够理解它们的优缺点. Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳 ...

  2. unity StreamingAssets路径

    原地址:http://blog.csdn.net/nateyang/article/details/8493791 我们在读写例如XML和TXT文件的时候,在电脑上和手机上路径不一致,造成了很多麻烦, ...

  3. 如何改变服务器的本地域名来访问本地服务器 而不用localhost或者127.0.0.1来访问

    1. vim nginx.conf 如下: server {                listen       80;                server_name pma;       ...

  4. centos7 安装kvm, 并创建虚拟机

    # yum –y install qemu-kvm qemu-img bridge-utils # yum –y install libvirt virt-install virt-manager # ...

  5. Coin Change

    You are given coins of different denominations and a total amount of money amount. Write a function ...

  6. Linux shell脚本编程基础之练习篇

    shell脚本编程基础之练习篇. 1.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. #!/bin/bash ] then echo "请输入一个参数& ...

  7. android 初探

    2014年7月27日 15:02:57 附: android 官方培训课程中文版 //官方简单的入门教程, 每个大类中只介绍了几个知识点, 可以快速搭建一个hello world android 开发 ...

  8. Greedy:Fence Repair(POJ 3252)

    Fence Repair 问题大意:农夫约翰为了修理栅栏,要将一块很长的木块切割成N块,准备切成的木板的长度为L1,L2...LN,未切割前的木板的长度恰好为切割后木板的长度的总和,每次切断木板的时候 ...

  9. cc.game

    概述 使用cc.game单例代替了原有的cc.Application以及cc.AppControl. cc.game是Cocos2d-JS的游戏对象,主要职责包括,配置的读取,引擎的加载,游戏脚本的加 ...

  10. [Android UI] ProgressBar自定义

    转载自:http://gundumw100.iteye.com/blog/1289348 1: 在JAVA代码中 在java代码中 ProgressBar      继承自View, 在android ...