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;
    }

  • 相关阅读:
    MySQL乱码问题
    Oracle安装错误“程序异常终止
    Hibernate Spring
    快学Scala 第一课 (变量,类型,操作符)
    Scala 学习笔记之隐式参数和隐式转换并用
    Hadoop 学习笔记之 Incompatible namespaceIDs问题
    Kafka 学习笔记之 Topic日志清理
    Zookeeper 学习笔记之 节点个数
    Kafka 学习笔记之 删除Topic
    Kafka 学习笔记之 架构
  • 原文地址:https://www.cnblogs.com/lvpengms/p/1662734.html
Copyright © 2011-2022 走看看