/*
枚举等级范围, 每种情况求最短路
*/

#include <iostream>
#include <queue>
#define MAXN 101
using namespace std;

int MAP[MAXN][MAXN];
int D[MAXN];

int LEV;
int p[MAXN], l[MAXN];
int e[10000][3];

int bellman(int s, int t, int n)
{
    bool mk[MAXN] = {false};
    queue<int> q;
    int i, x, tmp;
    for (D[s] = 0, q.push(s); !q.empty(); )
        for (x = q.front(), q.pop(), mk[x] = false, i = 0; i < n; i++)
            if (MAP[x][i] != INT_MAX && (tmp = D[x] + MAP[x][i]) < D[i])
            {
                D[i] = tmp;
                if (!mk[i])
                    mk[i] = true, q.push(i);
            } 
    return D[t];
}

int main()
{
    
    int n, i, j, m, w, cur = 0;
    int x, y;
    int king, lev;
    int cost, min_cost;
    
    scanf("%d %d", &LEV, &n);
    
    for (i = 0; i <= n; i++)
        MAP[i][0] = INT_MAX;
    
    for (i = 1; i <= n; i++)
    {
        scanf("%d %d %d", &p[i], &l[i], &m);
        while (m--)
        {
            scanf("%d %d", &j, &w);
            e[cur][0] = i;
            e[cur][1] = j;
            e[cur][2] = w;
            cur++;
        }
        MAP[i][0] = p[i];
    }
    king = l[1];
    min_cost = p[1];
    
    for (lev = king - LEV; lev <= king; lev++)
    {
        for (i = 0; i <= n; i++)
            for (D[i] = INT_MAX, j = 1; j <= n; j++)
                MAP[i][j] = INT_MAX;
        
        for (i = 0; i < cur; i++)
        {
            x = e[i][0];
            y = e[i][1];
            if (l[x] >= lev && l[x] <= lev+LEV
                && l[y] >= lev && l[y] <= lev+LEV)
                MAP[x][y] = e[i][2];
        }
        cost = spfa(1, 0, n+1);
        if (cost < min_cost)
            min_cost = cost;
    }
    printf("%d\n", min_cost);
    return 0;
}

转载于:https://www.cnblogs.com/lotus3x/archive/2008/07/23/1249469.html

PKU 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 昂贵的聘礼

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

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

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

  5. POJ 1062.昂贵的聘礼

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

  6. POJ - 1062 昂贵的聘礼

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

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

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

  8. POJ 1062 昂贵的聘礼

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

  9. 【题解】昂贵的聘礼 POJ - 1062 (最短路 经典)⭐⭐⭐⭐

    昂贵的聘礼 POJ - 1062 你想娶酋长的女儿,但酋长要求你给一定数额金钱的聘礼.除了金钱外,酋长也允许你用部落里其他人的某物品加上一点钱作为聘礼.而其他人的物品也可以通过指定的另外一些人的某物品 ...

最新文章

  1. 模块加载过程代码分析1
  2. Windows下使用gvim格式化xml文件
  3. java 微分方程求解_Java中的微分方程
  4. Python Django 原生SQL查询(游标Cursor)
  5. Powershell 查看软件是否成功安装
  6. 求职产品经理【十六】笔试真题串讲之百度地图与大数据结合的产品
  7. “扎金花FANS”进行了改进
  8. vs mysql 环境安装教程_使用 VS 开发连接 MySQL 的 Web 项目的环境配置
  9. php 手机端播放器,用JS代码适配电脑端和手机端播放器代码
  10. BZOJ 2176 Strange string 最小表示法
  11. [转载] Python基础:用Python统计列表中每个单词出现的次数(split 的使用,for双重循环)
  12. python读取配置文件使用_如何使用Python3读取配置文件
  13. c 语言赋值运算符,C/C+编程笔记:运算符—所有编程语言的基础!一文带你搞懂它...
  14. kindeditor java上传_KindEditor的使用和上传图片的后台处理
  15. WIN7下怎么安装iis教程
  16. 菜鸟学-业务流程图、数据流图、模块结构图
  17. Specification查询
  18. 中移物联网采购4G行车记录仪
  19. 使用python的wordcloud包实现中文标签云制作
  20. 电视剧中一看就让人崩溃的镜头大全~

热门文章

  1. badusb代码_badusb攻击代码
  2. 路由器php系统时间设置时间设置时间设置时间设置时间设置,win7电脑提示系统时间设置有误请更新系统日期...
  3. linux启用dcb步骤,Linux DCB体系——简短概述
  4. 只能输入数字或含两位小数的正则
  5. 基线_Origin入门教程(九):扣除基线常用小妙招
  6. 多次为 selecttemp 指定了列 bstkd_36列城市铁路列车、轨道诊断、货车大修、调车机车备品备件招标...
  7. R语言学习系列(数据挖掘之决策树算法实现--ID3代码篇)
  8. 每个电商企业都应该分析的9种数据
  9. BIRCH算法(Java实现)
  10. 如何利用大数据进行价值兑现才是正经事