PKU1062------昂贵的聘礼

2014-11-24 07:55:13 · 作者: · 浏览: 0

有三个注意点:

1、酋长的地位不一定是最高的;

2、这是有向图而不是双向图;

3、酋长的地位等级为R,从酋长开始,经过的人的地位等级必在[R-m,R+m]之中,而且经过的人的地位等级的区间长度也为m。

本题可以用枚举法+dijkstra做。

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include 
      
        #define Min(a,b) a
       
        b a:b #define INF 999999999 #define M 105 using namespace std; struct Point { int price; int rank; }; struct Point p[M]; int map[M][M]; bool visit[M]; int dis[M]; int m,n; void init() { int i,j; for(i=0;i
        
         b) visit[i]=true; } dis[1]=0; for(i=1;i