zoukankan      html  css  js  c++  java
  • POJ 3169 Layout

    查分约束好题,关键在于转化!

    #include<iostream>
    using namespace std;
    #define MAX 20020
    #define INF 999999
    struct Node{
        
    int u,v;
        
    int val;
    }node[MAX];
    int nv,ne,start;
    int dist[MAX];
    int bellman_DC()
    {
        
    int i,j,tmp,tag;
        
    for(i=1;i<=nv;++i)
            dist[i] 
    = INF;
        dist[start] 
    = 0;
        
    for(i=1;i<nv;++i)
        {
            tag 
    = 0;
            
    for(j=1;j<=ne;++j)
            {
                tmp 
    = dist[node[j].u]+node[j].val;
                
    if(tmp<dist[node[j].v])
                {
                    dist[node[j].v] 
    = tmp;
                    tag 
    = 1;
                }
            }
            
    if(tag == 0)
                
    return 0;
        }
        
    for(i=1;i<=ne;++i)
            
    if(dist[node[i].v]>dist[node[i].u]+node[i].val)
                
    return 1;
        
    return 0;
    }
    int main()
    {
        
    int i,j,a,b,flag,m1,m2,val,index;
        
    while(scanf("%d%d%d",&nv,&m1,&m2)!=EOF)
        {
            index 
    = 0;
            ne 
    = m1+m2;
            
    for(i=1;i<=m1;++i)
            {
                
    ++index;
                scanf(
    "%d%d%d",&a,&b,&val);
                node[index].u 
    = a;
                node[index].v 
    = b;
                node[index].val 
    = val;
            }
            
    for(i=1;i<=m2;++i)
            {
                
    ++index;
                scanf(
    "%d%d%d",&a,&b,&val);
                node[index].u 
    = b;
                node[index].v 
    = a;
                node[index].val 
    = -val;
            }
            start 
    = 1;
            flag 
    = bellman_DC();
            
    if(flag == 1)
                printf(
    "-1\n");
            
    else if(dist[nv]==INF)
                printf(
    "-2\n");
            
    else 
                printf(
    "%d\n",dist[nv]);
        }
        
    return 0;
    }

  • 相关阅读:
    使用 git 提交报错:error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large 的解决办法
    vue3使用 svg, 不是 svg 图标,是 svg 大图片。可动态修改参数
    Unix信号列表
    Linux CentOS系统安装 node 版本管理工具 nvm
    《能源监测与评价》——产品能耗的节能监测
    脚本
    Parallels Desktop 安装 Centos 虚拟机
    Nuxt3 学习笔记
    电力行业中的一些基本概念
    管理成熟度和管理者成熟度
  • 原文地址:https://www.cnblogs.com/lvpengms/p/1662734.html
Copyright © 2011-2022 走看看