摘要:
题目链接:http://poj.org/problem?id=3984本题应用bfs迷宫就行了,主要是要记录路径,pre数组用于记录路径,这里用了C++的STL,比较方便,当然用数组模拟队列也是可以的,看写bfs的习惯了,下面是AC代码 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 int map[7][7]; 9 int pre[30],flag[30];10 int dir[4][2]={{1,0},{0,1},{-1,0},{0,-1}}; //四个方向11 12 bool Isl... 阅读全文
摘要:
题目链接http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=221本来找这个题是要练习dijkstra的。。结果发现这个题权值都是1,可以用BFS很方便,这时又想到了Floyd 用来求每对顶点之间的距离,第一次实现了Floyd算法~!该算法代码结构简单,还没理解就先用了。下面是AC代码~ (p.s:这是我在zoj上提交的第一个代码~~) 1 #include 2 #define INF 1000 3 int map[110][110]; 4 int main() 5 { 6 int n,i,j,k,x,from,to,c... 阅读全文
摘要:
这个应该是最简单的dijkstra算法应用了。。刚学的朋友可以那它练下,建图也毫无难度,就是模板吧。 1 #include 2 #include 3 #define INF 100000000 4 int map[110][110],dis[110],flag[110]; 5 int n,m; 6 void dijkstra() 7 { 8 int i,j,k,min; 9 memset(flag,0,sizeof(flag));10 flag[1]=1;11 for(i=1;idis[k]+map[k][j])27 dis[j]... 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2066标准最短路径问题,起点可以看作是草儿家,从草儿家到与家相连的地方time=0,dijkstra求最短路径,然后找出想去地方的最小代价就行了,经典模板题,但是WA了好几次,开始找不出错误,后来发现体重有句话:(1= 2 #include 3 #include 4 #define INF 100000000 5 #define n 1000 6 7 using namespace std; 8 int map[1100][1100],dis[1100],flag[1100]; 9 int T,S. 阅读全文