zoukankan      html  css  js  c++  java
  • 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而不做任何切换。

  • 相关阅读:
    C# WPF之Material Design自定义颜色
    C# WPF从RIOT API获取数据(RIOT代表作品《英雄联盟》)
    C# WPF聊天界面(3/3)
    C# WPF简况(2/3)
    C# WPF联系人列表(1/3)
    使用SignalR从服务端主动推送警报日志到各种终端(桌面、移动、网页)
    为什么Node.JS会受到青睐?
    2017级面向对象程序设计——团队作业1
    2017级面向对象程序设计 作业三
    如果抽不出时间写博客怎么办
  • 原文地址:https://www.cnblogs.com/gg_shily/p/1548125.html
Copyright © 2011-2022 走看看