T001:兔子与樱花 最短路及路径
来源:互联网 发布:seo和sem的区别与联系 编辑:程序博客网 时间:2024/05/20 18:45
http://jmunetds.openjudge.cn/ex6/T001/
#include <iostream>#include <cstdio>#include <map>#include <string>#define MAX 35//#include<cctype>using namespace std; const int INF=0x3f3f3f3f;map<string,int> name;map<int,string> num;int p,q,r;int a[MAX][MAX];int nex[MAX][MAX];void flyod(){ for(int k=1;k<=p;k++) for(int i=1;i<=p;i++) for(int j=1;j<=p;j++){ if(a[i][j]>a[i][k]+a[k][j]){ a[i][j]=a[i][k]+a[k][j]; nex[i][j]=nex[i][k]; } }}void print(int st,int ed){ cout<<num[st]; if(st==ed){ cout<<endl; return; } printf("->(%d)->",a[st][nex[st][ed]]); print(nex[st][ed],ed);}int main(){ scanf("%d",&p); for(int i=1;i<=p;i++){ string str; cin>>str; name[str]=i; num[i]=str; } for(int i=1;i<=p;i++) for(int j=1;j<=p;j++){ if(i==j) a[i][j]=0; else a[i][j]=INF; nex[i][j]=j; } scanf("%d",&q); for(int i=1;i<=q;i++){ string str1,str2; int w; cin>>str1>>str2; scanf("%d",&w); a[name[str1]][name[str2]]=w; a[name[str2]][name[str1]]=w; } flyod(); scanf("%d",&r); for(int i=1;i<=r;i++){ string str1,str2; cin>>str1>>str2; print(name[str1],name[str2]); } return 0;}
阅读全文
0 0
- T001:兔子与樱花 最短路及路径
- 兔子与樱花(map+最短路+记录路径)
- 兔子与樱花---每对结点的最短路径
- 兔子与樱花(floyd+打印路径)
- 【HEOI】兔子与樱花
- [HEOI2015]兔子与樱花
- 【Bzoj4027】兔子与樱花
- 兔子与樱花
- 百练 兔子与樱花(floyd+打印路径)
- bzoj4027【heoi2015】兔子与樱花
- 【HEOI2015】【BZOJ4027】兔子与樱花
- bzoj4027: [HEOI2015]兔子与樱花
- BZOJ4027: [HEOI2015]兔子与樱花
- 4027: [HEOI2015]兔子与樱花
- 【bzoj4027】[HEOI2015]兔子与樱花
- BZOJ4027: [HEOI2015]兔子与樱花
- 4027: [HEOI2015]兔子与樱花
- BZOJ4027 [HEOI2015]兔子与樱花
- G- 3- palindrome
- springmvc注解之@Controller和@RestController注解
- ccf第四题整理
- 3
- 数组:索引,元素,反转
- T001:兔子与樱花 最短路及路径
- (作业)基于Timer实现电子秒表
- 数据结构-散列表
- sleep
- Mysql 日期函数
- 3
- [BZOJ2956]模积和-根号分块
- springmvc注解之@RequestMapping注解
- spring中@autowired的配置