/*
好好的图论题啊,最短路的应用,dijkstra算法
*/
#include <iostream>
using namespace std;
const int INF=100000;
int a[105][105],b[105],c[105],s[105],dist[105];
int n,m;
int dj(int p,int q)
{
int i,j,r,t,k=0;
for(i=0;i<n;i++)
if((b[i]>=p&&b[i]<=q)) dist[i]=a[k][i], s[i]=0; else dist[i]=INF,s[i]=0;
dist[0]=0; s[0]=1;
for(i=1;i<n;i++)
{
t=INF;
for(j=0;j<n;j++)
if(!s[j]&&dist[j]<t) t=dist[j],k=j;
s[k]=1;
for(j=0;j<n;j++)
if(!s[j]&&a[k][j]<INF&&b[j]>=p&&b[j]<=q)
{
r=dist[k]+a[k][j];
if(dist[j]>r) dist[j]=r;
}
}
t=c[0];
for(i=0;i<n;i++)
if(dist[i]+c[i]<t) t=dist[i]+c[i];
return t;
}
int main(int argc, char *argv[])
{
int i,j,k,p,q,l,r;
while(cin>>m>>n&&(m||n))
{
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=INF;
for(i=0;i<n;i++)
{ cin>>c[i]>>b[i]>>k;
for(j=0;j<k;j++)
{
cin>>p>>q;
a[i][p-1]=q;
}
}
r=c[0];
for(i=b[0]-m;i<=b[0];i++)
{
k=dj(i,i+m);
if(k<r) r=k;
}
cout<<r<<endl;
}
return 0;
}

最新文章

  1. POJ2104 K-th Number(主席树)
  2. java基础知识(一)数据类型(上)
  3. STM32串口
  4. jmx server 和jmx client
  5. Unity3D中自带事件函数的执行顺序(转)
  6. PHP declare(ticks=N); 的作用
  7. seajs之seajs-debug坑
  8. 论文笔记之:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation
  9. C++11初始化列表
  10. 暑假集训(3)第一弹 -----还是畅通工程(hdu1233)
  11. iOS-网络编程(一)HTTP协议
  12. SVG-1
  13. Docker 系列六(Docker Swarm 项目).
  14. 【原创】大数据基础之Airflow(2)生产环境部署airflow研究
  15. 升级 Apache Tomcat的办法
  16. 微信小程序 条件渲染 wx:if
  17. HTML和CSS总结
  18. 404错误处理以及以后缀为action结尾的处理
  19. PowerDesigner导入sql脚本生成物理模型
  20. [FQ]Tor + Chrome + PAC 尝试 FQ

热门文章

  1. Poj OpenJudge 百练 1573 Robot Motion
  2. NSS_01 开始
  3. jquery ListBox 左右移动
  4. 好用的ssh工具oh-my-zsh / iterm2
  5. 两个list 求交集效率对比
  6. ubuntu更新源,简单两步搞定
  7. C# 学习之旅(1)
  8. Objective-C常用类型、对象、方法
  9. Centos7搭建集中式日志系统
  10. PyQt4学习笔记2:事件和信号