POJ 1985 Cow Marathon (树的直径) 模板
2011-08-18 11:01
351 查看
树的直径题目。两次BFS
//9186307 NKHelloWorld 1985 Accepted 1824K 141MS C++ 1490B 2011-08-18 10:56:49 //9186317 NKHelloWorld 1985 Accepted 1824K 110MS C++ 1565B 2011-08-18 10:57:21 //9186348 NKHelloWorld 1985 Accepted 1888K 141MS G++ 1644B 2011-08-18 10:59:14 #include <cstdio> #include <cstring> #define MAXN 81000 int n,m; struct EDGE { int to,dis,next; }edge[MAXN]; int pt_edge = 0,index[41000],endpt = 1,ans = 0; int que[MAXN],dis[MAXN]; bool visited[MAXN]; int bfs(int start) { int j; int tail = 0,head = 0; memset(visited,false,sizeof(visited)); dis[tail] = 0; que[tail++] = start; visited[start] = true; while(head < tail) { for(j=index[que[head]];j!=-1;j=edge[j].next) { if(visited[edge[j].to]==false) { dis[tail] = dis[head] + edge[j].dis; que[tail] = edge[j].to; visited[que[tail]] = true; if(dis[tail] > ans) { ans = dis[tail]; endpt = que[tail]; } tail++; } } head++; } return ans; } int main() { int i,j,f1,f2,dis; char dir[5]; memset(index,-1,sizeof(index)); scanf("%d%d",&n,&m); for(i=1;i<=m;i++) { scanf("%d%d%d%s",&f1,&f2,&dis,dir); edge[pt_edge].next = index[f1]; index[f1] = pt_edge; edge[pt_edge].to = f2; edge[pt_edge++].dis = dis; edge[pt_edge].next = index[f2]; index[f2] = pt_edge; edge[pt_edge].to = f1; edge[pt_edge++].dis = dis; } bfs(1); printf("%d\n",bfs(endpt)); return 0; }
相关文章推荐
- POJ 1985--Cow Marathon【树的直径 && 模板】
- poj 1985 Cow Marathon (树的直径 模板题)
- POJ 1985 Cow Marathon(树的直径模板)
- POJ 1985-Cow Marathon【树的直径模板】
- [USACO2004][poj1985]Cow Marathon(2次bfs求树的直径)
- POJ Problem 1985 Cow Marathon 【树的直径】
- POJ 1985 Cow Marathon (树的直径)
- POJ 1985 Cow Marathon(牛的锻炼,树的直径)
- POJ_1985_Cow Marathon(树的直径)
- poj 1985 Cow Marathon【树的直径裸题】
- Poj 1985 Cow Marathon ( 树的直径
- poj-1985-Cow Marathon【树的直径】
- POJ 1985 Cow Marathon(两次BFS求树的直径(最长路))
- [学习][poj1985]树的直径 Cow Marathon
- poj 1985 Cow Marathon(树直径)
- POJ 1985 Cow Marathon(树的直径)
- BZOJ 3363 POJ 1985 Cow Marathon 树的直径
- BZOJ 3363 POJ 1985 Cow Marathon 树的直径
- poj 1958 Cow Marathon(树的直径,模板题)
- POJ 1985 Cow Marathon 求直径 DFS基础 和 BFS 基础