hdu2923 Einbahnstrasse map+floyd最短路
来源:互联网 发布:大图打印 软件 编辑:程序博客网 时间:2024/06/05 06:13
题意啊,题意很重要!!N<100 而C<1000
第一个名字是拖车公司,后面的c个是破车的地方,所以有可能出现几个破车在同一个地方的。
而拖车一次只能拖一辆,所以要用一个数组记录下每个破车的位置。
就因为这,RE了我N次!
建图过程也挺麻烦,主要是字符串的处理
#include<cstdio>#include<iostream>#include<string>#include<map>#include<cstring>using namespace std;map<string,int> m;int main(){ int i,j,n,broke,k,ans,cases=1; int map[110][110]; int dis[110][110]; int c,r; int id=1;int q[1010]; string s,s1,s2,s3; while(scanf("%d%d%d",&n,&c,&r)!=EOF) { m.clear(); broke=c; id=1; if(n==0&&c==0&&r==0) break; memset(dis,0x3f,sizeof(dis)); memset(map,0x3f,sizeof(map)); for(i=1;i<=c+1;i++) { cin>>s; if(m[s]==0) m[s]=id++;int t=m[s];q[i]=t;//记录破车; } for(i=1;i<=r;i++) { int a=0,b=0,sum=0; cin>>s1>>s2>>s3; if(m[s1]==0) m[s1]=id++; if(m[s3]==0) m[s3]=id++; // cout<<"\nm["<<s3<<"]="<<m[s3]<<" \n"; a=m[s1]; b=m[s3]; for(j=2;s2[j]!='-';j++) { sum=sum*10+s2[j]-'0'; } if(s2[0]=='<') { if(sum<map[b][a]) map[b][a]=sum; } if(s2[s2.length()-1]=='>') { if(sum<map[a][b]) map[a][b]=sum; } }//floyd算法 for(i=1;i<=n;i++) for(j=1;j<=n;j++) { dis[i][j]=map[i][j]; dis[i][i]=0; } for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) dis[i][j]=dis[i][j]>dis[i][k]+dis[k][j]?dis[i][k]+dis[k][j]:dis[i][j]; ans=0; for(i=2;i<=broke+1;i++) ans+=dis[1][q[i]]+dis[q[i]][1]; printf("%d. %d\n",cases++,ans); } return 0;}
- hdu2923 Einbahnstrasse map+floyd最短路
- HDU2923 Einbahnstrasse (最短路 floyd)
- HDU2923---Einbahnstrasse(map+floyd)
- HDU2923:Einbahnstrasse(Floyd)
- HDU2923:Einbahnstrasse(Floyd)
- HDU 2923 Einbahnstrasse(最短路 Floyd)
- hdu2923 Einbahnstrasse
- hdu2923 最短路
- hdu 2923 Einbahnstrasse 最短路spfa+map容器
- HDU 2923 Einbahnstrasse 【Floyd+map】
- hdu 2923 Einbahnstrasse 最短路
- hdu2923+floyd
- hdu 2923 Einbahnstrasse(Floyd+map)
- hdu2923—Einbahnstrasse(spfa)
- hdu 1217 Arbitrage(Floyd最短路算法+map应用)
- HDU 2112 HDU Today 最短路问题map+floyd
- hdu 1217 Arbitrage 最短路 floyd+map容器
- 文章标题 HDU 1217 : Arbitrage(最短路--Floyd+map)
- mac 终端 svn 命令
- Android获取屏幕分辨率及DisplayMetrics简介
- android textview 关键字高亮显示
- 史蒂芬wf地址
- Eclipse运行时提示failed to create the java virtual machine 如何解决
- hdu2923 Einbahnstrasse map+floyd最短路
- memset ,memcpy 和strcpy 的根本区别?
- [小代码]判断网络是否可用
- Android自适应屏幕方向、大小和分辨率
- c# 自定义事件和委托
- list
- Android--XML文件解析之PULL模式解析
- Ubuntu14.04安装JDK
- struts2核心工作流程与原理