zoukankan      html  css  js  c++  java
  • poj1062昂贵的聘礼(DFS)

    http://poj.org/problem?id=1062

    poj计划里最短路题 用DFS做的。。

    弄了一下午 终于搜过了 注意 全局的最大跟最小值的差不能超过它所规定的限制

    View Code
     1 #include <iostream>
     2 #include<cstdio>
     3 #include<string.h>
     4 using namespace std;
     5 int m,mi,xf[111],flag,minn,maxx;
     6 struct node
     7 {
     8     int p,l,x;
     9     int t[101],v[101];
    10 }q[101];
    11 void dfs(int d,int tm)
    12 {
    13     int i,j,f = 0 ;
    14     for(i = 1; i <= q[d].x ; i++)
    15     {
    16         if(q[d].v[i]<q[d].p&&q[d].l-q[q[d].t[i]].l<=m&&!xf[q[d].t[i]])
    17         {
    18             int tmax = maxx;
    19             int tmin = minn;
    20             if(q[q[d].t[i]].l>maxx)
    21             maxx = q[q[d].t[i]].l;
    22             if(q[q[d].t[i]].l<minn)
    23             minn = q[q[d].t[i]].l;
    24             if(maxx-minn>m)
    25             {
    26                 maxx = tmax;
    27                 minn = tmin;
    28                 continue ;
    29             }
    30             xf[q[d].t[i]] = 1;
    31             tm += q[d].v[i];
    32             dfs(q[d].t[i],tm);
    33             xf[q[d].t[i]] = 0;
    34             tm-=q[d].v[i];
    35             maxx = tmax;
    36             minn = tmin;
    37             f = 1;
    38         }
    39     }
    40     if(!f)
    41     {
    42         tm+=q[d].p;
    43         if(mi>tm)
    44         mi = tm;
    45         tm-=q[d].p;
    46         return ;
    47     }
    48 }
    49 int main()
    50 {
    51     int i,j,k,n;
    52     scanf("%d%d",&m,&n);
    53     for(i = 1; i <= n ;i++)
    54     {
    55         scanf("%d%d%d",&q[i].p,&q[i].l,&q[i].x);
    56         for(j = 1; j <= q[i].x ; j++)
    57         scanf("%d %d",&q[i].t[j],&q[i].v[j]);
    58     }
    59     mi = q[1].p;
    60     minn = q[1].l;
    61     maxx = q[1].l;
    62     xf[1] = 1;
    63     dfs(1,0);
    64     printf("%d\n",mi);
    65     return 0;
    66 }
  • 相关阅读:
    HBase 负载均衡
    HBase的写事务,MVCC及新的写线程模型
    HBase RegionServer宕机处理恢复
    分布式事务实现-Percolator
    MVC框架
    06-JS中li移动第二种形式
    05-JS中li移动第一种形式
    04-JS中文档碎片
    03-JS中添加节点
    02-JS中父节点
  • 原文地址:https://www.cnblogs.com/shangyu/p/2636795.html
Copyright © 2011-2022 走看看