/*
* poj1161.cpp
*
* Created on: 2010-8-8
* Author: friendy
* 代码写的好cuo,还是在用abc当数组名,以后坚决改掉。
*/
//本题目重在建图
//如何建图,map【i】【j】表示从i区域到j区域要走的墙
//这一点很重要,就是如何判断两个区域是相邻的,因为给你的每个区域是 顺时针给出的各个点
//所以找到一个相同到点后,直接比较旁边相邻的点是否相同,也就是说两个区域相邻一定要有一条公共边
//但是找边的时候不能直接用有两个相同的点来判断,举例即可,你给到两个点不一定存在边
//
//走到这一步,下面就是枚举每个区域,求一下所有人到这个区域的最小值,枚举这个最小值jike
#include
#include
#include
using namespace std;
int map[201][201],a[201][251];
int n,m,b[251],c[251][201],d[251];
int judge(int x,int y){//判断两个区域是否相邻
int i,j;
for(i=0;imap[i][k]+map[k][j])
map[i][j]=map[i][k]+map[k][j];
}
}
}
/* for(i=0;imap[c[b[j]][k]][i])
mmin=map[c[b[j]][k]][i];
}
sum+=mmin;
}
if(mMin>sum)
mMin=sum;
}
printf("%d/n",mMin);
return 0;
}
poj1161
最新推荐文章于 2020-09-04 16:55:14 发布
本文介绍了解决POJ 1161问题的方法,重点讲解了如何通过构建地图模型来确定不同区域之间的连接关系,并利用图算法找到最短路径。文章详细解释了如何判断两个区域是否相邻及如何进行最短路径计算。
1176

被折叠的 条评论
为什么被折叠?



