hdu2923+floyd
来源:互联网 发布:网络直播用户规模 编辑:程序博客网 时间:2024/06/05 11:41
也没啥好讲的。字符串模拟出图后直接floyd,水题+1。
#include<cstdio>#include<cstring>#include<map>#include<iostream>#include<algorithm>using namespace std;map<string,int> mmap;int n,c,r;int g[110][110];const int mmax=10000005;int main(){ int i,j,d[1100],dnum,k,numcas=0; while(scanf("%d%d%d",&n,&c,&r)!=EOF) { if(n==0&&c==0&&r==0) break; for(i=0;i<n;i++) for(j=0;j<n;j++) g[i][j]=mmax; for(i=0;i<n;i++) g[i][i]=0; mmap.clear(); string str; int cnt=0; dnum=0; for(i=0;i<c+1;i++) { cin>>str; if(mmap.count(str)==0) mmap[str]=cnt++; if(i!=0) d[dnum++]=mmap[str]; } for(i=0;i<r;i++) { string city1,op,city2; cin>>city1>>op>>city2; if(mmap.count(city1)==0) mmap[city1]=cnt++; if(mmap.count(city2)==0) mmap[city2]=cnt++; int num1=mmap[city1]; int num2=mmap[city2]; int w=0; for(j=2;;j++) { if(op.at(j)>='0'&&op.at(j)<='9') w=w*10+op.at(j)-'0'; else break; } if(op.at(0)=='<') { if(w<g[num2][num1]) g[num2][num1]=w; } if(op.at(op.length()-1)=='>') { if(w<g[num1][num2]) g[num1][num2]=w; } } //以上构图 for(k=0;k<n;k++) for(i=0;i<n;i++) for(j=0;j<n;j++) g[i][j]=min(g[i][j],g[i][k]+g[k][j]); int ans=0; for(i=0;i<c;i++) ans=ans+g[0][d[i]]+g[d[i]][0]; printf("%d. %d\n",++numcas,ans); } return 0;}
0 0
- hdu2923+floyd
- hdu2923 floyd基础
- HDU2923:Einbahnstrasse(Floyd)
- HDU2923:Einbahnstrasse(Floyd)
- HDU2923---Einbahnstrasse(map+floyd)
- HDU2923 Einbahnstrasse (最短路 floyd)
- hdu2923 Einbahnstrasse map+floyd最短路
- hdu2923
- hdu2923
- hdu2923
- hdu2923 Einbahnstrasse
- hdu2923 最短路
- hdu2923—Einbahnstrasse(spfa)
- floyd
- Floyd
- Floyd
- floyd
- floyd
- 2016-AspNet-MVC教学-11-Json-getJSON-Ajax的应用对比Demo
- uva 11549
- ListView中的Button点击设置
- 关于MVVM设计模式
- Android Studio你不知道的调试技巧
- hdu2923+floyd
- AR增强现实
- 用GDB调试程序(一)
- springmvc_hibernate的pom文件
- [HDFS]HDFS的运行原理
- jsp trimDirectiveWhitespaces ="true"(删除空白行)
- C++中类型转换—static_cast,dynamic_cast,const_cast
- 用GDB调试程序(二)
- hdu1599+floyd最小环