zoukankan      html  css  js  c++  java
  • bzoj 2662

    貌似和2763没鸟区别?

     1 #include<bits/stdc++.h>
     2 #define inc(i,l,r) for(i=l;i<=r;i++)
     3 #define dec(i,l,r) for(i=l;i>=r;i--)
     4 #define inf 1e9
     5 #define mem(a) memset(a,0,sizeof(a))
     6 #define ll long long
     7 #define NM 50+5
     8 using namespace std;
     9 int read(){
    10     int x=0,f=1;char ch=getchar();
    11     while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}
    12     while(isdigit(ch))x=x*10+ch-'0',ch=getchar();
    13     return f*x;
    14 }
    15 struct edge{
    16     int t,v;
    17     edge *next;
    18 }e[2005],*h[NM];
    19 queue<int >q;
    20 int d[NM][NM],n,m,p,i,x,y,t,s,ans;
    21 bool v[NM];
    22 void add(int x,int y,int v){
    23     e[++s].t=y;e[s].v=v;e[s].next=h[x];h[x]=&e[s];
    24 }
    25 int spfa(){
    26     ans=inf;
    27     inc(i,0,p){
    28         mem(v);
    29         v[1]++;q.push(1);d[i][1]++;
    30         while(!q.empty()){
    31             int t=q.front();q.pop();v[t]=false;
    32             for(edge *j=h[t];j;j=j->next){
    33                 if(!d[i][j->t]||d[i][j->t]>d[i][t]+j->v){
    34                     d[i][j->t]=d[i][t]+j->v;
    35                     if(!v[j->t]){
    36                         v[j->t]++;q.push(j->t);
    37                     }
    38                 }
    39                 if(i>0)
    40                 if(!d[i][j->t]||d[i][j->t]>d[i-1][t]+j->v/2){
    41                     d[i][j->t]=d[i-1][t]+j->v/2;
    42                     if(!v[j->t]){
    43                         v[j->t]++;q.push(j->t);
    44                     }
    45                 }
    46             }
    47         }
    48         ans=min(ans,d[i][n]-1);
    49     }
    50     return ans;
    51 }
    52 int main(){
    53     n=read();m=read();p=read();
    54     inc(i,1,m){
    55         x=read();y=read();t=read();
    56         add(x,y,t);add(y,x,t);
    57     }
    58     printf("%d",spfa());
    59     return 0;
    60 }
    View Code
  • 相关阅读:
    盘点三个网络赚零花钱的小项目,傻瓜式操作
    如何运营一个女性社区?
    女性社区TOP10
    微商怎么做月入过万?新手必看
    电脑设置 账号改名,远程无法复制
    sql server 安装
    C# HTTP
    电脑命令 重启电脑
    使用老毛桃备份 ,还原系统
    c# 截取字符串
  • 原文地址:https://www.cnblogs.com/onlyRP/p/4746255.html
Copyright © 2011-2022 走看看