题目链接

话说为什么出题人老是卡$SPFA$啊$qwq$

然而$SPFA$硬是让本宝宝写成了$dij$

分情况讨论就好

/**************************************************************
Problem: 2662
User: zhangheran
Language: C++
Result: Accepted
Time:12 ms
Memory:1356 kb
****************************************************************/ #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
using namespace std;
int n,m,k;
struct data{
int u;int v;int value;int next;
}edge[];int alist[];
int cnt;
void add(int u,int v,int value)
{
edge[cnt].v=v;
edge[cnt].u=u;
edge[cnt].value=value;
edge[cnt].next=alist[u];
alist[u]=cnt++;
return ;
}
struct node{int u;int v;};
queue<node> q;
int d[][];
bool ins[][];
void spfa()
{
d[][]=;
ins[][]=true;
q.push((node){,});
while(!q.empty())
{
node x=q.front();
q.pop();
ins[x.u][x.v]=false;
int next=alist[x.v];
while(next!=-)
{
int v=edge[next].v;
if(d[x.u][v]>d[x.u][x.v]+edge[next].value){
d[x.u][v]=d[x.u][x.v]+edge[next].value;
if(!ins[x.u][v])
ins[x.u][v]=true,
q.push((node{x.u,v}));
}
next=edge[next].next;
}
if(x.u<k){
int next=alist[x.v];
while(next!=-){
int v=edge[next].v;
if(d[x.u+][v]>d[x.u][x.v]+edge[next].value/){
d[x.u+][v]=d[x.u][x.v]+edge[next].value/;
if(!ins[x.u+][v])
ins[x.u+][v]=true,
q.push((node){x.u+,v});
}
next=edge[next].next;
}
}
}
}
int u,v,value;
int main()
{
scanf("%d%d%d",&n,&m,&k);
memset(d,0x3f3f3f3f,sizeof(d));
memset(alist,-,sizeof(alist));
for(int i=;i<=m;i++)
scanf("%d%d%d",&u,&v,&value),
add(u,v,value),
add(v,u,value);
spfa();
int minn=0x3f3f3f3f;
for(int i=;i<=k;i++) minn=min(minn,d[i][n]);
printf("%d",minn);
return ;
}

最新文章

  1. NodeJs之OS
  2. NYOJ 478
  3. linux实践之程序破解
  4. hibernate 注解 主键生成策略
  5. Centos5.8 安装 PHP5.5 和 memcached
  6. win8_64下安装paramiko
  7. BZOJ3759: Hungergame 博弈论+线性基
  8. LOGISTIC REGRESSION
  9. ZK framework on Java
  10. 根据powerdesigner的OO模型生成C#代码
  11. [Linux]Vim的安装及使用
  12. Yii2 场景
  13. dojo省份地市级联之省份Dao接口类(三)
  14. ASP.NET Core 基于JWT的认证(一)
  15. jdk和cglib动态代理
  16. POJ3017 Cut the Sequence
  17. 分享一个生成反遗忘复习计划的java程序
  18. Commons工具包的使用
  19. codeforces 578b//&quot;Or&quot; Game// Codeforces Round #320 (Div. 1)
  20. Servlet 串联过滤器

热门文章

  1. linux安装wifi驱动,开热点
  2. go_函数
  3. 高性能Web服务器Nginx的配置与部署研究(13)应用模块之Memcached模块+Proxy_Cache双层缓存模式
  4. Mask_RCNN测试自己的模型(练习)
  5. 商业级别Fortify白盒神器介绍与使用分析
  6. Windows多线程编程入门
  7. [Training Video - 4] [Groovy] Constructors in groovy, this keyword
  8. 回顾2017系列篇(五):人工智能给UI/UX设计带来的影响
  9. 在git bash中使用命令行调用tortoisegit提交代码或查看日志
  10. tree.J48