HDU 1474 HDU1580 UVA570 Always On the Run

2014-11-24 08:13:44 · 作者: · 浏览: 0

题意都理解了半天,,做了好久,唉好困,半夜了 来不及写解析了,先睡了,放一晚让自己想清楚,明天写,有一些城市,每一行都是第几个城市到其它城市的航班,跟花费,0代表没有,问最小花费

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         #include
        
          #include
         
           #include
           #include
           
             #include
            
              #include
             
               #include
              
                #define ll long long #define eps 1e-7 #define inf 0xfffffff const ll INF = 1ll<<61; using namespace std; //vector
               
                 > G; //typedef pair
                
                  P; //vector
                 
                   > ::iterator iter; // //map
                  
                   mp; //map
                   
                    ::iterator p; // int n,k; int dp[10 + 5][1000 + 5]; int travel[10 + 5][1000 + 5]; int cost[10 + 5][10 + 5][1000 + 5]; void clear() { memset(dp,-1,sizeof(dp)); memset(travel,0,sizeof(travel)); memset(cost,0,sizeof(cost)); } int main() { int Case = 0; while(scanf(%d %d,&n,&k),n + k) { clear(); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(i != j) { scanf(%d,&travel[i][j]); for(int l=0;l
                    
                      dp[l][j - 1] + cost[l][i][tmp]) minn = dp[l][j - 1] + cost[l][i][tmp]; } dp[i][j] = minn; } } printf(Scenario #%d ,++Case); if(dp[n][k] < 0) printf(No flight possible. ); else printf(The best flight costs %d. ,dp[n][k]); } return EXIT_SUCCESS; }