ZJU 1952 Heavy Cargo

原创 2006年05月17日 17:53:00

最坏情况的输入操作次数:20000 *200 = 4,000,000

为了写起来方便,直接FLOYD搞定,200^3 = 8, 000,000

[CODE]
#include <stdio.h>
#include <string.h>

const int M = 205 ;
struct CITY {
 char name[35] ;
} city[M] ;
int value[M][M], nCount ;

int GetCityPos ( char p[] )
{
 int i ;
 for ( i = 0; i < nCount; i++ )
 {
  if ( strcmp ( p, city[i].name ) == 0 )
   return i ;
 }
 strcpy ( city[nCount].name, p ) ;
 nCount ++ ;
 return nCount - 1 ;
}

int main()
{
 int nCityNum, nPathNum, cases = 0 ;
 while ( scanf ( "%d %d", &nCityNum, &nPathNum ) && nCityNum )
 {
  memset ( value, 0, sizeof(value) ) ;
  char ACity[35], BCity[35] ;
  nCount = 0 ;
  int i, j, k, load ;
  getchar () ;
  for ( i = 0; i < nPathNum; i++ )
  {
   scanf ( "%s %s %d", ACity, BCity, &load ) ;
   getchar() ;
   int a = GetCityPos ( ACity ) ;
   int b = GetCityPos ( BCity ) ;
   value[a][b] = value[b][a] = load ;
  }
  for ( k = 0; k < nCityNum; k++ )
  {
   for ( i = 0; i < nCityNum; i++ )
   {
    for ( j = 0; j < nCityNum; j++ )
    {
     int temp = value[i][k] > value[k][j] ? value[k][j] : value[i][k] ;
     if ( temp > value[i][j] )
      value[i][j] = temp ;
    }
   }
  }
  scanf ( "%s %s", ACity, BCity ) ;
  int a = GetCityPos ( ACity ) ;
  int b = GetCityPos ( BCity ) ;
  printf ( "Scenario #%d/n", ++cases ) ;
  printf ( "%d tons/n/n", value[a][b] ) ;
 }
 return 0;
}

[/CODE]

ZOJ 1952 Heavy Cargo【SPFA】

//2627641 2011-08-14 23:54:06 Accepted 1952 C 10 324 ylwh@Unknown #include #include #includ...

poj 2263||zoj 1952Heavy Cargo(short path floyd)

题目是说要找到所有可达路径中的路的最小容量的最大值。==拗口 将字符串转换成数组下标,用了个index函数索引。 递推公式可简述成:A[i][j]=MAX(A[i][j],MIN(A[i][k],...
  • cqlf__
  • cqlf__
  • 2012年01月24日 13:06
  • 529

zoj 1952 Heavy Cargo 最短路 Dijkstra

我写的第二道最短路。。。不得不承认,我对最短路理解的还是不透彻。。纠结了好长时间,总感觉不难不难但就是写不出来,对,就是这种感觉。。不过一天的时间没白费,一次就AC啦。。。 程序里input()函数...

poj2263&zoj1952Heavy Cargo(floyd)

题目请戳这里 题目大意:给一张无向图,边权为正整数,代表两端点之间路上能承载的最大重量,给定一个起点和一个终点,问起点到终点最大载货量。 题目分析:此题方法很多。floyd比较好想。每条路都有最大...

zoj 1952 && poj 2263 Heavy Cargo

题意:在一个无向图中,给你起点和终点求出这两点之间一条路径,该路径要求其中最小的边最大。 思路:用spfa的思想,用dist[i]表示从起点除法到点i的最大值(该路径中的最小的边),然后不断...

poj 2263 Heavy Cargo

这题是dijkstra的变形,dp[i]表示到城市i的最大负载量,比如a-----b,if dp[b]

poj2263 Heavy Cargo(dijstra 变形)

Description Big Johnsson Trucks Inc. is a company specialized in manufacturing big trucks. Their ...

POJ-2263Heavy Cargo(优先队列)

Heavy CargoTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 4535 Accepted: 2373 D...

老BOJ 12 Heavy Cargo

Heavy Cargo Accept:85     Submit:228 Time Limit:1000MS     Memory Limit:65536KB Descriptio...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ZJU 1952 Heavy Cargo
举报原因:
原因补充:

(最多只允许输入30个字)