zoukankan      html  css  js  c++  java
  • 1051: 魔咒词典

    1051: 魔咒词典

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 539  解决: 316
    [提交][状态][讨论版]

    题目描述

           哈利波特在魔法学校的必修课之一就是学习魔咒。据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一个需要的魔咒,所以他需要你的帮助。

          给你一部魔咒词典。当哈利听到一个魔咒时,你的程序必须告诉他那个魔咒的功能;当哈利需要某个功能但不知道该用什么魔咒时,你的程序要替他找到相应的魔咒。如果他要的魔咒不在词典中,就输出“what?”

    输入

    首先列出词典中不超过100000条不同的魔咒词条,每条格式为:

        [魔咒] 对应功能

        其中“魔咒”和“对应功能”分别为长度不超过20和80的字符串,字符串中保证不包含字符“[”和“]”,且“]”和后面的字符串之间有且仅有一个空格。词典最后一行以“@END@”结束,这一行不属于词典中的词条。
        词典之后的一行包含正整数N(<=1000),随后是N个测试用例。每个测试用例占一行,或者给出“[魔咒]”,或者给出“对应功能”。

    输出

     每个测试用例的输出占一行,输出魔咒对应的功能,或者功能对应的魔咒。如果魔咒不在词典中,就输出“what?”

    样例输入

    [expelliarmus] the disarming charm
    [rictusempra] send a jet of silver light to hit the enemy
    [tarantallegra] control the movement of one's legs
    [serpensortia] shoot a snake out of the end of one's wand
    [lumos] light the wand
    [obliviate] the memory charm
    [expecto patronum] send a Patronus to the dementors
    [accio] the summoning charm
    @END@
    4
    [lumos]
    the summoning charm
    [arha]
    take me to the sky

    样例输出

    light the wand
    accio
    what?
    what?



    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
    string a[100],b[100],c[100];
    int n=0,i;
    while(true){
    getline(cin,a[n]);
    if(a[n]=="@END@"){
    break;
    }
    i=a[n].find("]");
    b[n]=a[n].substr(0,i+1);
    c[n]=a[n].substr(i+2,a[n].length());
    n++;
    }
    int y;
    cin>>y;
    string d[100];
    for(int i=0;i<=y;i++)
    {
    getline(cin,d[i]);
    }
    for(int i=1;i<=y;i++)
    {
    int x=0;
    for(int j=0;j<=n;j++)
    {
    if(d[i]==b[j]){
    cout<<c[j]<<endl;
    x=1;
    }
    else if(d[i]==c[j]){
    cout<<b[j].substr(1,b[j].length()-2)<<endl;
    x=1;
    }
    }
    if(x==0){
    cout<<"what?"<<endl;
    }
    }
    }

     
  • 相关阅读:
    VS2013专业版+QT5.6.3+qt-vs-addin-1.2.5环境搭建
    提权获取进程路径并获取进程列表
    解决Qt发布的程序在xp环境下提示“无法定位程序输入点 K32GetModuleFileNameExA 于动态链接库 KERNEL32.dll 上”的错误
    QT5中使用Echarts图表组件
    Qt5.9生成dll详细图文教程
    Qt 编程指南 & 选择合适的Qt5版本
    Qt 之 国际化(中英文切换)
    Qt资料
    第三次作业
    第二次作业
  • 原文地址:https://www.cnblogs.com/lchzls/p/5838150.html
Copyright © 2011-2022 走看看