Einbahnstrasse HDU2923
基础2923题
处理输入很麻烦
有可能一个城市有多辆破车要拖 应该严谨一点的 考虑所有情况
#include<bits/stdc++.h>
using namespace std; int m1[][];
int vis[];int dis[];
#define INF 99999
int n,e,cas; int a1[];int a2[]; void dijkstra(int v0)
{
memset(vis,,sizeof(vis));
for(int i=;i<=n;i++)dis[i]=m1[v0][i];
// for(int i=1;i<=n;i++)printf("%d ",dis[i]);cout<<endl;
vis[v0]=;
for(int i=;i<n-;i++)
{
int minn=INF,u=v0;
for(int j=;j<=n;j++)
{
if(vis[j]==&&dis[j]<minn)
{
u=j;minn=dis[j]; } }
vis[u]=;
for(int j=;j<=n;j++)
{
if(vis[j]==&&dis[u]+m1[u][j]<dis[j])
{
dis[j]=dis[u]+m1[u][j];
} } } }
int a[]; int main()
{
int c1,cas;map<string,int>ma;
int cas1=;
while(scanf("%d%d%d",&n,&c1,&cas)==&&(n+c1+cas))
{ ma.clear();
memset(a,,sizeof(a));
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
{
if(i==j)m1[i][j]=;
else m1[i][j]=INF; }
int c=;string s;cin>>s;
ma[s]=n; for(int i=;i<=c1;i++)
{
cin>>s;
if(!ma[s])ma[s]=++c;
a[i]=ma[s];
}
// printf("pl10\n");
string s1,s2,s3;
while(cas--)
{
cin>>s1>>s2>>s3;
int val=; //cout<<s1<<endl;
// cout<<s2<<endl;
// cout<<s3<<endl;
val=s2[]-'';
int i=;
while(isdigit(s2[i])){ val=val*+s2[i]-''; i++;}
// printf("val=%d\n",val);
if(!ma[s1])ma[s1]=++c;
if(!ma[s3])ma[s3]=++c;
if(s2[]=='<'&&m1[ ma[s3] ][ ma[s1] ]>val)m1[ ma[s3] ][ ma[s1] ]=val;
if(s2[ s2.size()- ]=='>'&&m1[ ma[s1] ][ ma[s3] ]>val)m1[ ma[s1] ][ ma[s3] ]=val; } // for(int i=1;i<=n;i++)
// {
// for(int j=1;j<=n;j++)
// printf("%d ",m1[i][j]);
// cout<<endl;
// } int sum=;
// for(int i=1;i<=c1;i++)printf("%d ",a[i]);cout<<endl;
for(int i=;i<=c1;i++)
{ dijkstra( a[i] );sum+=dis[n]; }
//printf("%d\n",sum);
dijkstra(n);
for(int i=;i<=c1;i++)sum+=dis[ a[i] ]; printf("%d. %d\n",++cas1,sum); } }
Einbahnstrasse HDU2923的更多相关文章
- HDU2923 Einbahnstrasse (Floyd)
Einbahnstrasse Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- Einbahnstrasse
Einbahnstrasse Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- HDU - 2923 - Einbahnstrasse
题目: Einbahnstrasse Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- hdu2923 最短路floyd
建图还是有点烦人的. #include<map> #include<string> #include<stdio.h> #include<iostream&g ...
- 【转】最短路&差分约束题集
转自:http://blog.csdn.net/shahdza/article/details/7779273 最短路 [HDU] 1548 A strange lift基础最短路(或bfs)★254 ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
- 【HDOJ图论题集】【转】
=============================以下是最小生成树+并查集====================================== [HDU] How Many Table ...
- hdu图论题目分类
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...
- 转载 - 最短路&差分约束题集
出处:http://blog.csdn.net/shahdza/article/details/7779273 最短路 [HDU] 1548 A strange lift基础最短路(或bfs)★ ...
随机推荐
- Linq 中的 in 与 not in 的使用
接 触 LINQ 也有很长的一段时间了,有些在 SQL 语句中用的很顺手的东西在 Linq 中却不知道如何实现了,最近遇到了一个问题,在 LINQ 的 Where 条件式中要如何使用 IN 与 NOT ...
- C# 一般处理程序下载文件
using System; using System.Collections; using System.Data; using System.Linq; using System.Web; usin ...
- php 利用root 权限执行shell脚本
http://blog.csdn.net/lxwxiao/article/details/8513355 也可以指定某个shell文件不需要密码 www-data ALL=(ALL) NOPASSWD ...
- Django搭建简易博客教程(四)-Models
原文链接: http://www.jianshu.com/p/dbc4193b4f95 Django Model 每一个Django Model都继承自django.db.models.Model 在 ...
- Database学习 - mysql 数据库 多表/复合/子 查询
多表查询 多表查询,基本规则,通过两表有关联字段的进行条件匹配查询 内连接查询 方式一: SELECT 查看字段名[,查看字段名] FROM 一表名,二表名 WHERE 一/二表.字段 = 一/二表. ...
- Django学习手册 - 登录装饰器
# 装饰器定义 def auth(func): def inner(request,*args,**kwargs): v = request.COOKIES.get("user") ...
- Activity生命周期详解
http://blog.csdn.net/liuhe688/article/details/6733407 onPause 回到 onResume 的过程“在一般的开发中用不上”,但是作为开发者还是有 ...
- Qt5.7 无法输入中文问题
把libfcitxplatforminputcontextplugin.so复制到安装的Qt目录下的两个文件夹中 sudo apt install fcitx-frontend-qt5 sudo cp ...
- ubuntu14.04 VIM for python 一键配置
# 超强vim配置文件 [](https://travis-ci. ...
- HTTP协议中PUT和POST使用上的区别
有的观点认为,应该用POST来创建一个资源,用PUT来更新一个资源:有的观点认为,应该用PUT来创建一个资源,用POST来更新一个资源:还有的观点认为可以用PUT和POST中任何一个来做创建或者更新一 ...