poj1161

来源:互联网 发布:php有什么证书 编辑:程序博客网 时间:2024/05/22 10:32
/* * poj1161.cpp * * Created on: 2010-8-8 * Author: friendy * 代码写的好cuo,还是在用abc当数组名,以后坚决改掉。 *///本题目重在建图//如何建图,map【i】【j】表示从i区域到j区域要走的墙//这一点很重要,就是如何判断两个区域是相邻的,因为给你的每个区域是 顺时针给出的各个点//所以找到一个相同到点后,直接比较旁边相邻的点是否相同,也就是说两个区域相邻一定要有一条公共边//但是找边的时候不能直接用有两个相同的点来判断,举例即可,你给到两个点不一定存在边////走到这一步,下面就是枚举每个区域,求一下所有人到这个区域的最小值,枚举这个最小值jike#include#include#includeusing 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;}
原创粉丝点击