• Google code jam 2008, Qualification Round:Save the Universe, 翻译


    英文地址:here
    本文仅作学习之用,题目的测试用例下载及答案的上传请到上面的英文地址,有不专业或者错误还请指正。

    拯救宇宙

    问题

    都市里传说如果你去Googl的主页并且搜索"Google”,那么宇宙就会爆炸。我们告诉你一个秘密:这是真的!千万不要尝试或者告诉任何人。

    好吧,也许不会爆炸。我们开了个玩笑而已。

    这在另外一个很远很远的宇宙确实真的。在那个地方,如果你在任何搜索引擎上搜索那个引擎的名字,那么它就会爆炸。

    为了与这种情况抗争。人们想到了一个有意思的解决办法。所有的请求被集合起来,然后传送到一个中央系统去决定每个请求用那个搜索引擎。中央系统发送一系列的请求到一个搜索引擎,并能在任何时候切换到另外一个引擎。所有的请求必须按照收到的顺序处理。中央系统一定不能把请求发送到名字与之相同的搜索引擎上。为了降低成本,需要切换的次数为最小。

    你的任务是告诉我们中央系统需要在各个搜索引擎之间切换多少次,假设我们已经把中央系统最优化了。

    输入

    输入文件的第一行是测试用例的数目:N。接下来是N个测试用例。

    每个测试用例以一个数字S开始:搜索引擎的数目。接下来的S行,每一行包含一个搜索引擎的名字。每个搜索引擎的名字不超过100个字符并且只包含大小写字母,空格和数字。而且他们不会重名。

    接下来是包含一个数字Q的一行:请求的数目。再接下来的Q行每一行包含一个请求。在测试中每个请求都是一个搜索引擎的名字。

    输出

    对于每一个测试用例,你应该输出:

    Case #X: Y

    X表示第几个测试用例,Y表示切换搜索引擎的数目。对初始搜索引擎的选择不计算为一个切换。

    限制

    0 < N <= 20

    小数据

    2 <= S <= 10

    0 <= Q <= 100

    大数据

    2 <= S <= 100

    0 <= Q <= 1000

    例子

    输入

    2
    5
    Yeehaw
    NSM
    Dont Ask
    B9
    Googol
    10
    Yeehaw
    Yeehaw
    Googol
    B9
    Googol
    NSM
    B9
    NSM
    Dont Ask
    Googol
    5
    Yeehaw
    NSM
    Dont Ask
    B9
    Googol
    7
    Googol
    Dont Ask
    NSM
    NSM
    Yeehaw
    Yeehaw
    Googol

    输出

    Case #1: 1
    Case #2: 0

    在第一个测试中,一个可能的方案是用Dont ask 开始,然后再第8个请求后切换到NSM。

    第二个测试,你可以一直用B9而不做任何切换。

  • 相关阅读:
    Android Studio没有 Build Bundle(s)/Apk(s)选项或者Make Project没有反应
    typescript遍历Map
    Cocos Creator的项目优化问题
    Cocos Creator 常用优化技巧汇总
    CocosCreator客户端优化系列(四):CPU占用以及性能优化
    CocosCreator客户端优化系列(三):内存优化
    CocosCreator客户端优化系列(二):渲染优化
    CocosCreator客户端优化系列(一):加载优化(下)
    CocosCreator客户端优化系列(一):加载优化(上)
    cocos creator性能优化--Prefab加载优化
  • 原文地址:https://www.cnblogs.com/gg_shily/p/1548125.html
Copyright © 2020-2023  润新知