hihocoder1050 & 1081 & 1093
来源:互联网 发布:数据库管理员怎么样 编辑:程序博客网 时间:2024/06/06 12:38
1050
#include <cstdio>#include <iostream>#include <vector>#include <cstring>using namespace std;vector<int> vec[100005];int vis[100005];int d[100005];int dfs(int x,int st){ vis[x] = 1; int si = vec[x].size(); for(int i = 0;i < si;i++){ int v = vec[x][i]; if(!vis[v]){ d[v] = st+1; dfs(v,st+1); } }}int main(){ int n; cin >> n; for(int i = 1;i < n;i++){ int x,y; scanf("%d%d",&x,&y); vec[x].push_back(y); vec[y].push_back(x); } memset(vis,0,sizeof(vis)); memset(d,0,sizeof(d)); dfs(1,0); int ma = -1; int x = 0; for(int i = 1;i <= n;i++){ if(d[i] > ma){ ma = d[i]; x = i; } } memset(vis,0,sizeof(vis)); memset(d,0,sizeof(d)); dfs(x,0); ma = -1; for(int i = 1;i <= n;i++){ if(d[i]>ma){ ma = d[i]; } } cout << ma << endl;、* return 0;}//先从任意一点开始找一个最长路,然后从这个最长路的终点开始找最长路这时候找到的最长路就是任意两个点的最长路/*很明显,两个点之间的最长的距离一定是从某一个根开始的最长路加上次长路的,如果找到最长路然后再从最长路终点开始找最长路那么一定是找到了任意两个点的最长距离*/
1081
#include <cstdio>#include <iostream>#include <map>#include <vector>#include <queue>#include <cstring>using namespace std;const int INF = 100000000;int to[20005];int w[20005];int nex[20005];int n,m,s,t;int head[1005];int cnt = 0;int d[1005];int cc[1005];int add(int from,int t,int wi){ to[cnt] = t; w[cnt] = wi; nex[cnt] = head[from]; head[from] = cnt++;}int fun(){ for(int i = 1;i <= n;i++){ d[i] = INF; } d[s] = 0; queue<int> que; memset(cc,0,sizeof(cc)); que.push(s); while(!que.empty()){ int u = que.front(); que.pop(); cc[u] = false; for(int i = head[u];i != -1;i = nex[i]){ int v = to[i]; if(d[v] > d[u] + w[i]){ d[v] = d[u] + w[i]; if(!cc[v]){ cc[v] = true; que.push(v); } } } } return d[t];}int main(){ cin >> n >> m >> s >> t; memset(head,-1,sizeof(head)); for(int i = 0;i < m;i++){ int x,y,w; scanf("%d%d%d",&x,&y,&w); add(x,y,w); add(y,x,w); } cout << fun() << endl; return 0;}
spfa
此题代码修改数组大小之后同样可以过1093
0 0
- hihocoder1050 & 1081 & 1093
- hihocoder1050 : 树中的最长路
- [hihocoder1050]树中的最长路
- 分治 hihoCoder1050 树中的最长路
- hihoCoder1050— 树中的最长路(深搜)
- 1093
- 1093
- #1093
- 1081
- problem 1093
- zoj 1093
- hdu 1093
- ZJU-1093
- HDOJ 1093
- ZOJ 1093
- hdu 1093
- 水题 1093
- sicily 1093
- linux常用网络命令介绍
- Unity3d开发学习之路
- linux下jdk的安装
- linux下的串口调试工具之minicom
- 谈谈个人对SnmpSharpNet的实践经验
- hihocoder1050 & 1081 & 1093
- 黑马程序员-- 集合框架 (Collection, Iterator,泛型)
- 在eclipse中配置Struts2的环境
- MySQL下载安装、配置与使用(win7x64) (已安装,此步骤 可用)
- IOS录音启动速度慢得解决方法
- 详细介绍java中的数据结构
- 最长回文字符串
- Swift UIImageView 构造方法
- swap_ranges和transform