zoukankan      html  css  js  c++  java
  • 【luogu T24743 [愚人节题目5]永世隔绝的理想乡】 题解

    题意翻译

    我们来说说王的故事吧。 星之内海,瞭望之台。从乐园的角落告知汝等。汝等的故事充满了祝福。只有无罪之人可以进入——『永世隔绝的理想乡(Garden of Avalon)』!

    题目背景

    zcy入坑了一个叫做FGO的毒瘤游戏,他不知道自己适合什么英灵。

    在众多大佬的帮助下,他发现了一个非常强大的,叫做梅林的英灵……

    乐园的放浪者。登场于亚瑟王传说中的
    兼备导师及预言家身份的宫廷魔术师。
    对击败了无数敌人克服了无数苦难的亚瑟王
    时而进行引导、时而令其困扰,时而伸出援手。
    虽身为贤人,但基本上是非人类。
    毕竟他是梦魔与人类的混血儿。

    「我是很喜欢人类的世界啦,
    不过如果具体到个人的话——
    那就比较,嗯,就是——嗯!
    好!这种时候沉默才是金啊!」

    正如所见到的那样,他其实算不上是人类的伙伴。
    虽是最高等级的『Caster』之一,但他却并不擅长使用魔术。
    至于原因嘛,据说是因为念咒语的时候会咬到舌头。


    题目描述

    zcy开始用梅林打一个非常难的副本,由于这个副本非常难,而且zcy傻乎乎的只带了一个梅林,因此他要打好长时间。

    打的时间长了,HP回复就成为了一个重要的问题。幸运的是梅林的宝具——“永世隔绝的理想乡(Garden of Avalon)”带有很强的HP回复功能。由于zcy运气比较差,只能抽到一个梅林,因此他的梅林的宝具的回复效果是每使用一次,会在包括本回合在内的五回合每回合回复1000HP

    注意,宝具的回复效果可以叠加,但是回合数要单独计算

    在FGO中,每回合可以采取三张指令卡,指令卡共有四种,分别是Buster,Arts,Quick以及宝具卡(例如梅林的GardenOfAvalon)。我们这里认为宝具卡是独立于三张指令卡之外的。

    现在zcy记录下了他每回合选择的指令卡,他向你提出了 mm 个问题,分别表示在某一回合结束时,他能够恢复多少HP。

    为了简化题意,我们假设一回合可以使用多次宝具,并且多次使用时不考虑宝具连携效果。同时由于zcy只有一个梅林,所以一回合使用多次宝具只能被当做使用一次

    萌新zcy是个海豹,他为了展现自己抽到的梅林,使用了自信的一倍速。因此你也需要用合适的速度来配合他回答询问

    输入输出格式

    输入格式:
    第一回合包括两个整数 n,mn,m ,分别表示回合数和询问数 接下来 nn 行,每行三个用空格隔开的字符串,分别表示该回合使用三张的指令卡,包括"Buster","Arts","Quick","GardenOfAvalon"四种。 接下来 mm 行,每行一个整数,表示一次询问。

    输出格式:
    共 mm 行,每行一个整数,表示答案。保证答案不会超过C++的long long范围。

    输入输出样例

    输入样例#1:
    3 2
    GardenOfAvalon Buster Arts
    Arts Arts Quick
    GardenOfAvalon Quick Arts
    2
    3
    输出样例#1:
    1000
    2000
    说明

    对于100%的数据,满足1≤n,m≤100

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 using namespace std;
     5 const int maxn = 200;
     6 int n, m, x;
     7 int huihe[maxn];
     8 char a[maxn],b[maxn],c[maxn];
     9 long long ans = 0;
    10 int main()
    11 {
    12     cin>>n>>m;
    13     for(int i = 1; i <= n; i++)
    14     {
    15         cin>>a>>b>>c;
    16         int lena = strlen(a);
    17         int lenb = strlen(b);
    18         int lenc = strlen(c);
    19         if(lenc == 14 || lenb == 14 || lena == 14)
    20         {
    21             huihe[i]++;
    22             huihe[i+1]++;
    23             huihe[i+2]++;
    24             huihe[i+3]++;
    25             huihe[i+4]++;    
    26         }
    27     }
    28     for(int i = 1; i <= 50000; i++)
    29     for(int j = 1; j <= 10000; j++)
    30     {
    31         ans++;
    32     }
    33     for(int i = 1; i <= m; i++)
    34     {
    35         cin>>x;
    36         cout<<huihe[x]*1000<<endl;
    37     }
    38     
    39     return 0;
    40 }
    View Code 

    对于这个题,跟游戏规则没什么半毛钱关系。关键是看原题目里的时间限制。一倍速。。你写个大一点的for循环,卡一卡常数就OK了。

    嗯其实其他的题比这个还有意思,因为我是月厨(逃

    隐约雷鸣,阴霾天空,但盼风雨来,能留你在此。

    隐约雷鸣,阴霾天空,即使天无雨,我亦留此地。

  • 相关阅读:
    关于C#静态函数什么时候被调用的问题
    Visual Studio调试之断点技巧篇
    使用MPLex实现语法高亮显示的功能
    Generate Ellipsoid画椭球用MATLAB
    matlab学习
    12.17 V155 Q169. 机经加感悟。
    GRE阅读
    Matlab7.0程序启动后自动退出问题
    远程打开MATLAB
    Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发。
  • 原文地址:https://www.cnblogs.com/MisakaAzusa/p/8688304.html
Copyright © 2011-2022 走看看