Basic Level 1052 卖个萌 (20分)

2023-11-16

题目

萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:

[左手]([左眼][][右眼])[右手]

现给出可选用的符号集合,请你按用户的要求输出表情。

输入格式:

输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号 []内。题目保证每个集合都至少有一个符号,并不超过 10 个符号;每个符号包含 1 到 4 个非空字符。

之后一行给出一个正整数 K,为用户请求的个数。随后 K 行,每行给出一个用户的符号选择,顺序为左手、左眼、口、右眼、右手——这里只给出符号在相应集合中的序号(从 1 开始),数字间以空格分隔。

输出格式:

对每个用户请求,在一行中输出生成的表情。若用户选择的序号不存在,则输出 Are you kidding me? @/@。

输入样例:

[][][o][~\][/~]  [<][>]
 [][][^][-][=][>][<][@][]
[Д][][_][ε][^]  ...
4
1 1 2 2 2
6 8 1 5 5
3 3 4 3 3
2 10 3 9 3

输出样例:

(╯▽╰)<(=)/~
o(^ε^)o
Are you kidding me? @\/@

代码:

#include <iostream>
#include <vector>
using namespace std;
int main(){
    vector<vector<string>> v;
    for(int i = 0; i < 3; i++){
        string s;
        getline(cin, s);
        vector<string> row;
        int k = 0;
        for(int j = 0; j < s.length(); j++)
            if(s[j] == '[')
                while(k++ < s.length())
                    if(s[k] == ']'){
                        row.push_back(s.substr(j + 1, k - j - 1));
                        break;
                    }
        v.push_back(row);
    }
    int n, q[5];
    cin >> n;
    for(int i = 0; i < n; i++){
        cin >> q[0] >> q[1] >> q[2] >> q[3] >> q[4];
        if(q[0] > v[0].size() || q[1] > v[1].size() || q[2] > v[2].size() || q[3] > v[1].size() || q[4] > v[0].size() || q[0] < 1 || q[1] < 1 || q[2] < 1 || q[3] < 1 || q[4] < 1){
            cout << "Are you kidding me? @\\/@" << endl;
            continue;
        }
        cout << v[0][--q[0]] << "(" << v[1][--q[1]] << v[2][--q[2]] << v[1][--q[3]] << ")" << v[0][--q[4]] << endl;
    }
    return 0;
}

PAT_BasicLevel

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Basic Level 1052 卖个萌 (20分) 的相关文章

  • 【TS】联合类型

    文章目录 TS 联合类型 1 普通变量声明 2 数组声明使用 3 函数中使用 TS 联合类型 联合类型即通过管道 将变量设置多种类型 赋值时可以根据设置的类型来赋值 1 普通变量声明 let res number string boolea
  • MySQL中的事务、索引、锁机制

    目录 一 MySQL基础架构 二 MySQL中的索引 1 什么是索引 索引的作用 2 索引的类型 1 主键索引 Primary Key 2 二级索引 辅助索引 3 索引的底层数据结构 1 B 树 B 树 2 为什么选择B B 树 为什么要用
  • 图块引用、属性块引用、创建新层表、ObjectArx开发中静态变量和全局变量要点

    一 图块设计技术 在AutoCAD数据库中 以各图块实际上市存储在块表记录里的实体集合 每个图块从一格AcDbBlockBegin对象开始 紧接着是一个或多个AcDbEntity对象 最后以AcDbBolckEnd对象结束 按其所属关系得层

随机推荐

  • Googleplay从服务器检索信息时出错。[DF-DFERH-01]

    googleapis cn services googleapis cn 两个地址强制走代理就OK了 转载于 https www cnblogs com Devopser p 10269312 html
  • Linux下利用TCP的服务端和客户端实现简单收发消息

    服务端采用了线程 可以同时提供给多台客户端连接 TCP的服务端 tcp server c include
  • 每秒上万并发下的Spring Cloud性能优化之道

    本文为转载文章 作者 中华石杉 十余年BAT架构经验 倾囊相授 作者微信公众号 石杉的架构笔记 ID shishan100 一 写在前面 相信不少朋友都在自己公司使用Spring Cloud框架来构建微服务架构 毕竟现在这是非常火的一门技术
  • MySQL中的any_value()函数

    转载 MySQL中的any value 函数 小李小李彬彬有礼的博客 CSDN博客
  • 深入探索透视投影变换(续)

    潘宏 2009 4 14 本人水平有限 疏忽错误在所难免 还请各位数学高手 编程高手不吝赐教 email popyy netease com B站专栏 https b23 tv oWsl6PD 在上一篇文章中我们讨论了透视投影变换的原理 分
  • 涂鸦NBIOT OpenCPU开发快速入门(三)

    1 开发板选择 工欲善其事 必先利其器 我之前做了两款开发板 其实主要是为了我工作上开发的方便 第一款用来测试通用对接 的方式比较友好 第二个板子主要特色在于开发调试起来非常方便 涂鸦 模组多个平台的芯片都是默认三个串口的 烧录口 通讯口
  • 《算法导论》选择问题(找第K大的数)

    选择问题 Selection Problem 即在n个元素的集合中寻找第K小的元素的问题 第K小的元素又叫第K个顺序统计量 有以下几种变体 找最大值和最小值 同时找最大和最小值 找中位数 第n 2小 找任意第K小的元素 找Top K的元素
  • 当SpringCloud微服务发生线程隔离(舱壁模式)和熔断降级时(微服务失败的回调),利用FeignClient整合Sentinel,返回用户一个友好提示或者默认结果

    目录 一 线程隔离 1 1线程隔离的两种实现方式 二 熔断降级 2 1慢调用 2 2异常比例 2 3异常数 三 FeignClient整合Sentinel 3 1修改配置 开启sentinel功能 3 2编写失败降级逻辑 3 2 1利用Fa
  • 贪心(acwing)

    每次选择当前的最优解 没什么固定的套路 先试一些做法 举例子验证 尝试证明一下 严格地推 区间问题 例1 1 将每个区间按照右端点从小到大排序 2 从前往后依次枚举每个区间 如果当前区间已经包含点 则直接pass 否则选择当前区间的右端点
  • Cenos6.5 安装Gcc编译器

    本人使用的是CentOS 6 5 64位系统 由于在安装系统的时候并没有勾选安装gcc编译器 因此需要自行安装gcc编译器 使用yum安装gcc 对于配备了yum的Linux发行版而言 安装gcc编译器就变得so easy 我们只需要分别执
  • 三维数据处理软件架构

    三维数据处理软件都包含哪些模块 三维数据处理软件 一般包含三个模块 数据管理和处理 三维渲染 UI 这与图形学的三个经典问题是相对应的 建模 渲染和交互 与一般常见的数据处理软件 比如图像视频处理 不同的是 这里的数据展示模块需要三维渲染
  • numpy中的mean()函数

    mean 函数定义 numpy mean a axis dtype out keepdims mean 函数功能 求取均值 经常操作的参数为axis 以m n矩阵举例 axis 不设置值 对 m n 个数求均值 返回一个实数 axis 0
  • VB联合Python开发

    用到 Python 首先你肯定得装一个Python吧 用3 x的 创建一个 py文件 说明 需要引用pythoncom 这个需要pip install pywin32 import pythoncom class PythonUtiliti
  • R语言缺失值填补

    本文主要介绍如何利用R语言进行数值型缺失值的填补 主要使用zoo包中的na aggregate na approx na locf 函数进行缺失值的均值填补 线性插值填补以及邻近值填补 install packages zoo librar
  • 开源是物联网的驱动力量

    本文转载至 http www infoq com cn articles open source as a driver of internet of things utm campaign infoq content utm source
  • Shell脚本攻略:通配符、正则表达式

    目录 一 理论 1 通配符 2 正则表达式 二 实验 1 通配符 2 正则表达式 一 理论 1 通配符 1 概念 通配符只用于匹配文件名 目录名等 不能用于匹配文件内容 而且是已存在的文件或者目录 各个版本的shell都有通配符 这些通配符
  • 《Android 开发艺术探索》笔记2--IPC机制

    Android 开发艺术探索 笔记2 IPC机制 思维导图 Android IPC简介 Android中的多进程的模式 IPC基础概念 Serializable接口 Parcelable接口 Android的几种跨进程的方式 使用Bundl
  • having where 你真的了解了吗?

    where group by group by 字句 和 where条件语句结合在一起使用 当结合在一起时 where在前 group by 在后 即先对select xx from xx的记录集合用where进行筛选 然后再使用group
  • QT 三种关联信号和槽的办法

    1 手动关联 connect ui gt showChildButton QPushButton clicked this MyWidget showChildDialog 2 自动关联 右键单击按钮弹出菜单中选择 转到槽 void MyD
  • Basic Level 1052 卖个萌 (20分)

    题目 萌萌哒表情符号通常由 手 眼 口 三个主要部分组成 简单起见 我们假设一个表情符号是按下列格式输出的 左手 左眼 口 右眼 右手 现给出可选用的符号集合 请你按用户的要求输出表情 输入格式 输入首先在前三行顺序对应给出手 眼 口的可选