2011年8月25日
摘要: #include<stdio.h>const int N=1005;int n,m;bool mat[N][N];int prec[N][N],succ[N][N];void floyd(){for(int k=1;k<=n;k++){for(int i=1;i<=prec[k][0];i++){int a=prec[k][i];for(int j=1;j<=succ[k][0];j++){int b=succ[k][j];if(!mat[a][b]){mat[a][b]=true;prec[b][++prec[b][0]]=a;succ[a][++succ[a] 阅读全文
posted @ 2011-08-25 22:28 不是我干的 阅读(253) 评论(0) 推荐(0)
摘要: 我用的是dij最短路做。刚开始wa了。因为记录路径的问题。。。太菜了。#include<iostream>using namespace std;int n,m;const int N=1005;bool mat[N][N];bool visit[N];int d[N];int pre[N];const int inf=9999999;void print(int u){if(u==1)printf("%d\n",u);else{print(pre[u]);printf("%d\n",u);}}void dij(){for(int i=1;i 阅读全文
posted @ 2011-08-25 14:26 不是我干的 阅读(266) 评论(0) 推荐(0)