题意:给N,表示N个节点。

给半个邻接矩阵,本身到本身的距离是0,边是双向的。当两个节点之间没有直接的边连接的时候,用x表示。

问从第一个节点到其他所有节点至少花费的时间。

这题唯一的处理是处理邻接矩阵的时候处理先当作字符串读入,然后处理一下数据,变成数据格式。

最后是输出第一个节点到其他所有节点最短路的最大值。

#include<stdio.h>
#include<string.h>
int n;
const int inf=;
int pho[][];
char tmp[][];
bool vis[];
int dis[];
void solve(int pos)
{
vis[pos]=;
for(int i=;i<=n;i++)
{
if(!vis[i]&&pho[pos][i]+dis[pos]<dis[i])
{
dis[i]=pho[pos][i]+dis[pos];
}
}
int next=inf;
int minn=inf;
for(int i=;i<=n;i++)
{
if(!vis[i])
{
if(minn>dis[i])
{
minn=dis[i];
next=i;
}
}
}
if(next<=n)
solve(next);
}
int main()
{
int len;
int num;
int ttt;
scanf("%d",&n);
getchar();
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
pho[i][j]=inf;
}
pho[i][i]=;
dis[i]=inf;
}
for(int i=;i<=n;i++)
{
gets(tmp[i]);
}
for(int i=;i<=n;i++)
{
num=;
len=strlen(tmp[i]);
tmp[i][len]=;
ttt=;
for(int j=;j<=len;j++)
{
if(tmp[i][j]==)
{
num++;
pho[num][i]=pho[i][num]=ttt;
ttt=;
}
else if(tmp[i][j]=='x')
{
ttt=inf;
}
else
{
ttt*=;
ttt+=tmp[i][j]-;
}
}
}
dis[]=;
solve();
int maxx=-;
for(int i=;i<=n;i++)
{
if(maxx<dis[i])
maxx=dis[i];
}
printf("%d\n",maxx);
}

POJ 1502 水 dij的更多相关文章

  1. POJ 1502 MPI Maelstrom / UVA 432 MPI Maelstrom / SCU 1068 MPI Maelstrom / UVALive 5398 MPI Maelstrom /ZOJ 1291 MPI Maelstrom (最短路径)

    POJ 1502 MPI Maelstrom / UVA 432 MPI Maelstrom / SCU 1068 MPI Maelstrom / UVALive 5398 MPI Maelstrom ...

  2. POJ - 1502 MPI Maelstrom 路径传输Dij+sscanf(字符串转数字)

    MPI Maelstrom BIT has recently taken delivery of their new supercomputer, a 32 processor Apollo Odys ...

  3. poj 1502 最短路+坑爹题意

    链接:http://poj.org/problem?id=1502 MPI Maelstrom Time Limit: 1000MS   Memory Limit: 10000K Total Subm ...

  4. POJ 1502 MPI Maelstrom (Dijkstra)

    题目链接:http://poj.org/problem?id=1502 题意是给你n个点,然后是以下三角的形式输入i j以及权值,x就不算 #include <iostream> #inc ...

  5. Invitation Cards POJ 1511 SPFA || dij + heap

    http://poj.org/problem?id=1511 求解从1去其他顶点的最短距离之和. 加上其他顶点到1的最短距离之和. 边是单向的. 第一种很容易,直接一个最短路, 然后第二个,需要把边反 ...

  6. POJ 1502 MPI Maelstrom(最短路)

    MPI Maelstrom Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4017   Accepted: 2412 Des ...

  7. POJ 2502 Subway dij

    这个题的输入输出注意一下就好 #include<cstdio> #include<cstring> #include<queue> #include<cstd ...

  8. POJ 1847 Tram dij

    分析:d[i]表示到i点,最少的操作数 #include<cstdio> #include<cstring> #include<queue> #include< ...

  9. poj 1269 水题

    题目链接:http://poj.org/problem?id=1269 #include<cstdio> #include<cstring> #include<cmath ...

随机推荐

  1. Runtime理解

    动态语言 OC是一门不折不扣的动态语言,所以它的很多机制都是动态运行时决定的.这点和C语言不一样,C语言是静态绑定,也就是编译后所有的一切都已经决定了.这一点和C语言的函数指针有些类似,很多时候函数指 ...

  2. vue2.0组件生命周期探讨

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Android从图库选择照片

    从机里取照片,开头用网上找的代码测试,导致类似下面这样的Crash:java.lang.RuntimeException: Failure delivering result java.lang.Se ...

  4. uva1611 Crane

    类似煎饼,先把1放到1,之后是子问题   (先放到前一半,再放到开头,两次操作)(任何位置,最多一次就可以放到前一半)) #include<iostream> #include<ve ...

  5. Java数据结构和算法(四)--链表

    日常开发中,数组和集合使用的很多,而数组的无序插入和删除效率都是偏低的,这点在学习ArrayList源码的时候就知道了,因为需要把要 插入索引后面的所以元素全部后移一位. 而本文会详细讲解链表,可以解 ...

  6. Error:Failed to resolve: com.afollestad:material-dialogs:

    http://www.chenruixuan.com/archives/1068.html 背景: 同事把Android项目直接考给了我...我在Android Studio上运行,然后提示: Err ...

  7. Maven实战读书笔记(二):Maven坐标与仓库

    2.1 Maven坐标 Maven坐标是Maven用来表示一个组件依赖的标示. Maven通过下面几个元素定义坐标:groupId.artifactId.version.packaging.class ...

  8. C++ 给自己的扫盲笔记

    1.运算符new分配内存的格式: 指针变量名 = new 类型: 如分配一个20字节的name变量    :name = new char[20]; 2.strlen(s);函数: 返回字符串s的长度 ...

  9. linux配置网桥

    实现环境: centos7   Linux devstack01 3.10.0-693.el7.x86_64 1.创建br配置文件,ifcfg-br2 cp ifcfg-br0 ifcfg-br2 2 ...

  10. Java:post请求

    文章来源:https://www.cnblogs.com/hello-tl/p/9140870.html 0.post请求返回json import java.io.BufferedInputStre ...