zoukankan      html  css  js  c++  java
  • POJ 1789 Truck History

    很是感伤,前两天做的题都没做出来。。。好久没有AC的感觉了,昨晚终于AC一个题了!⊙﹏⊙b汗!

    这题就是一个比较裸的最小生成树,考虑的边比较多,所以用了Prim算法。。。

    View Code
    #include <stdio.h>
    #include <memory.h>

    #define N 2002

    int map[N][N];
    char s[N][8];
    int lowcost[N];

    int distance(int x,int y)
    {
    int i=0,ans=0;

    while(s[x][i])
    {
    if(s[x][i]!=s[y][i]) ++ans;
    ++i;
    }
    return ans;
    }

    int Prime(int n)
    {
    int i,j,v=1,u,ans=0;

    memset(lowcost,111,sizeof(lowcost));
    for(i=1;i<n;i++)
    {
    lowcost[v]=-1; u=0;
    for(j=1;j<=n;j++)
    {
    if(lowcost[j]!=-1)
    {
    if(map[v][j]<lowcost[j])
    lowcost[j]=map[v][j];
    if(lowcost[u]>lowcost[j])
    u=j;
    }
    }
    v=u; ans+=lowcost[v];
    }

    return ans;
    }

    int main()
    {
    int i,j,n;
    freopen("input.txt","r",stdin);
    while(scanf("%d",&n),n)
    {
    for(i=1;i<=n;i++)
    {
    scanf("%s",s[i]);
    for(j=1;j<i;j++)
    {
    map[i][j]=map[j][i]=distance(i,j);
    }
    }
    printf("The highest possible quality is 1/%d.\n",Prime(n));
    }
    return 0;
    }

    空间15000KB 时间390MS 长度800B

    顺便看了看此题排行第一名checkoj 188KB 125MS 450B我震惊了!!!这……坑爹!
    想不明白他是怎么搞的!!这……太牛B了!!暂时也没找到之类的源码……ORZ

  • 相关阅读:
    51Nod1119
    stoi
    坑爹大质数
    USACO07OPEN Cheapest Palindrome
    USACO08NOV Mixed Up Cows
    USACO12FEB Nearby Cows
    SCOI2009 粉刷匠
    USACO16OPEN 248
    POI2014 PTA-Little Bird
    USACO17FEB Why Did the Cow Cross the Road I G
  • 原文地址:https://www.cnblogs.com/fornever/p/2393247.html
Copyright © 2011-2022 走看看