zoukankan      html  css  js  c++  java
  • POJ 1847 Tram

    仍然是水题,不然我也不会这么随意都做出来了,哥们AC个题,真TM不easy!

    这个算是一个正宗的最短路了,如何建图,也很明显。。

    View Code
    #include <stdio.h>

    #define N 102

    unsigned char map[N][N];
    unsigned char dist[N];
    unsigned char flag[N];

    void Dijsktra(int s,int e,int n)
    {
    int i,j,v;

    for(i=0;i<=n;i++) dist[i]=map[s][i],flag[i]=0;
    flag[s]=1;

    for(i=1;i<n;i++)
    {
    for(v=0,j=1;j<=n;j++)
    {
    if(!flag[j] && dist[v]>dist[j])
    v=j;
    }
    flag[v]=1;
    for(j=1;j<=n;j++)
    {
    if(!flag[j] && dist[v]+map[v][j]<dist[j])
    {
    dist[j]=dist[v]+map[v][j];
    }
    }
    }

    }

    int main()
    {
    int n,a,b;
    int i,j,m,num;

    freopen("input.txt","r",stdin);
    while(scanf("%d %d %d",&n,&a,&b)!=EOF)
    {
    for(i=0;i<=n;i++)for(j=0;j<=i;j++)map[i][j]=map[j][i]=0xff;

    for(i=1;i<=n;i++)
    {
    scanf("%d %d",&m,&num); m--; map[i][num]=0;
    for(j=0;j<m;j++)
    {
    scanf("%d",&num);
    map[i][num]=1;
    }
    }
    Dijsktra(a,b,n);

    if(dist[b]!=0xff)
    printf("%d\n",dist[b]);
    else printf("-1\n");
    }

    return 0;
    }

    空间132KB 时间0MS 感到很满意了。。可是随便看了看此题排行!

    那尼玛无语前边的都是 32KB 0MS 这……这……吓住我了!!

    难道他们的map数组用的是一位的变量。。可是怎么定义一位的变量啊?!

    到网上搜了搜也没找到,直接搜源码的尼玛也搜不到,这什么情况?

    不只是这个题还有一些题都是这样,不知大牛们都是怎么写啊!!!谁能告诉我。。。。GOD!……ORZ!

  • 相关阅读:
    无法直接启动带有"类库输出类型"的项目解...
    基于.NET的免费开源的模板引擎---VTemplate(转)
    用户 'IIS APPPOOLDefaultAppPool' 登录失败。
    如何获得配置文件中,连接数据库的连接字符串
    如何获取数据库的链接字符串
    IIS运行.NET4.0配置
    Repeater用法
    asp.net三层架构详解
    C#本地时间转Unix时间
    C#Timer
  • 原文地址:https://www.cnblogs.com/fornever/p/2394206.html
Copyright © 2011-2022 走看看