zoukankan      html  css  js  c++  java
  • bzoj 1703 [Usaco2007 奶牛排名 传递闭包

    [Usaco2007 Mar]Ranking the Cows 奶牛排名

    Time Limit: 5 Sec  Memory Limit: 64 MB
    Submit: 504  Solved: 343
    [Submit][Status][Discuss]

    Description

        农夫约翰有N(1≤N≤1000)头奶牛,每一头奶牛都有一个确定的独一无二的正整数产奶率.约翰想要让这些奶牛按产奶率从高到低排序.    约翰已经比较了M(1≤M≤10000)对奶牛的产奶率,但他发现,他还需要再做一张关于另外C对奶牛的产奶率比较,才能推断出所有奶牛的产奶率排序.请帮他确定C的最小值.

    Input

        第1行包含两个用空格分开的整数N和M.接下来M行,每行有两个用空格分开的整数X和Y(1≤X,y≤1000),表示奶牛X的产奶率高于奶牛Y.

    Output

     
      C的最小值.

    Sample Input

    5 5
    2 1
    1 5
    2 3
    1 4
    3 4

    INPUT DETAILS:

    FJ is comparing 5 cows and has already determined that cow 2 > cow
    1, cow 1 > cow 5, cow 2 > cow 3, cow 1 > cow 4, and cow 3 > cow 4
    (where the '>' notation means "produces milk more quickly").

    Sample Output

    3

    HINT

        从输入样例中可以发现,约翰已经知道的排名有奶牛2>奶牛1>奶牛5和奶牛2>奶牛3>奶牛4,奶牛2排名第一.但是他还需要知道奶牛1的名次是否高于奶牛3来确定排名第2的奶牛,假设奶牛1的名次高于奶牛3.接着,他需要知道奶牛4和奶牛5的名次,假设奶牛5的名次高于奶牛4.在此之后,他还需要知道奶牛5的名次是否高于奶牛3.所以,他至少仍需要知道3个关于奶牛的排名.

    Source

    Gold

    题解:

      这道题目是一道水题,确定排名即可,

      注意题目中独一无二两个字,很关键的,

      比如三个数的排名,a,b,c,就需要知道三条信息,

      a和b的关系,b和c的关系,a和c的关系,

      就是对于任意两个数需要知道其关系,是谁大于谁。

      数组模拟即可,代码丑陋不给出了。

  • 相关阅读:
    使用火炬之光资源(转)
    (转)Visual Leak Detector (VLD)使用
    (转)ofusion 导出注意事项
    OgreMax 导出(转)
    (转)C++ 内存池 C++ Memory Pool 翻译版
    Maven教程初级篇01: 简介
    浅谈JSON 数据源格式
    面向连接的Socket Server的简单实现
    oracle杀死死锁进程
    重构——让程序员快乐的工作
  • 原文地址:https://www.cnblogs.com/fengzhiyuan/p/8097965.html
Copyright © 2011-2022 走看看