PAT Basic 1052 卖个萌 (20 分)

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

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

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

输入格式:

输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号 []内。题目保证每个集合都至少有一个符号,并不超过 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;

void analyse_data(vector<string>& vec,string& str){
    for(int i=0;i<str.length();i++){
        if(str[i]==‘[‘){
            int start=i+1;
            while(str[i]!=‘]‘){
                i++;
            }
            int end=i;
            vec.push_back(str.substr(start,end-start));
        }
    }
}

int main()
{
    string hands,eyes,months;
    vector<string> vec_hands,vec_eyes,vec_months;
    getline(cin,hands);
    getline(cin,eyes);
    getline(cin,months);
    analyse_data(vec_hands,hands);
    analyse_data(vec_eyes,eyes);
    analyse_data(vec_months,months);
    int testnum;
    cin>>testnum;
    while(testnum--){
        int a,b,c,d,e;
        cin>>a>>b>>c>>d>>e;
        if(a<=0||b<=0||c<=0||d<=0||e<=0||
           a>vec_hands.size()||b>vec_eyes.size()||c>vec_months.size()||
           d>vec_eyes.size()||e>vec_hands.size()){
            cout<<"Are you kidding me? @\\/@"<<endl;
            continue;
        }
        cout<<vec_hands[a-1]<<"("<<vec_eyes[b-1]<<vec_months[c-1]<<vec_eyes[d-1]<<")"<<vec_hands[e-1]<<endl;
    }
    system("pause");
    return 0;
}

原文地址:https://www.cnblogs.com/littlepage/p/11611962.html

时间: 2024-08-28 12:10:28

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

PAT 1052. 卖个萌 (20)

萌萌哒表情符号通常由"手"."眼"."口"三个主要部分组成.简单起见,我们假设一个表情符号是按下列格式输出的: [左手]([左眼][口][右眼])[右手] 现给出可选用的符号集合,请你按用户的要求输出表情. 输入格式: 输入首先在前三行顺序对应给出手.眼.口的可选符号集.每个符号括在一对方括号[]内.题目保证每个集合都至少有一个符号,并不超过10个符号:每个符号包含1到4个非空字符. 之后一行给出一个正整数K,为用户请求的个数.随后K行,每行给出

PAT Basic 1069 微博转发抽奖 (20 分)

小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数 M(≤ 1000).N 和 S,分别是转发的总量.小明决定的中奖间隔.以及第一位中奖者的序号(编号从 1 开始).随后 M 行,顺序给出转发微博的网友的昵称(不超过 20 个字符.不包含空格回车的非空字符串). 注意:可能有人转发多次,但不能中奖多次.所以如果处于当前中奖位置的网友已经中过奖,则跳过他顺次取下一位. 输

1052. 卖个萌 (20)

萌萌哒表情符号通常由“手”.“眼”.“口”三个主要部分组成.简单起见,我们假设一个表情符号是按下列格式输出的: [左手]([左眼][口][右眼])[右手] 现给出可选用的符号集合,请你按用户的要求输出表情. 输入格式: 输入首先在前三行顺序对应给出手.眼.口的可选符号集.每个符号括在一对方括号[]内.题目保证每个集合都至少有一个符号,并不超过10个符号:每个符号包含1到4个非空字符. 之后一行给出一个正整数K,为用户请求的个数.随后K行,每行给出一个用户的符号选择,顺序为左手.左眼.口.右眼.右

PAT Basic 1077 互评成绩计算 (20 分)

在浙大的计算机专业课中,经常有互评分组报告这个环节.一个组上台介绍自己的工作,其他组在台下为其表现评分.最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G?1??:老师给这个组的评分记为 G?2??.该组得分为 (,最后结果四舍五入后保留整数分.本题就要求你写个程序帮助老师计算每个组的互评成绩. 输入格式: 输入第一行给出两个正整数 N(> 3)和 M,分别是分组数和满分,均不超过 100.随后 N 行,每行给出该组得到的 N 个分数(均

PAT Basic 1023 组个最小数 (20 分)

给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位).例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558. 现给定数字,请编写程序输出能够组成的最小的数. 输入格式: 输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0.数字 1.……数字 9 的个数.整数间用一个空格分隔.10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字. 输出格式: 在一行中输出能够组

PAT Basic 1052

1052 卖个萌 萌萌哒表情符号通常由"手"."眼"."口"三个主要部分组成.简单起见,我们假设一个表情符号是按下列格式输出的: [左手]([左眼][口][右眼])[右手] 现给出可选用的符号集合,请你按用户的要求输出表情. 输入格式: 输入首先在前三行顺序对应给出手.眼.口的可选符号集.每个符号括在一对方括号 []内.题目保证每个集合都至少有一个符号,并不超过 10 个符号:每个符号包含 1 到 4 个非空字符. 之后一行给出一个正整数 K,为

PAT乙级:1057 数零壹 (20分)

PAT乙级:1057 数零壹 (20分) 题干 给定一串长度不超过 105 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0.4 个 1. 输入格式: 输入在一行中给出长度不超过 105.以回车结束的字符串. 输出格式: 在

pat 1136 A Delayed Palindrome(20 分)

1136 A Delayed Palindrome(20 分) Consider a positive integer N written in standard notation with k+1 digits a?i?? as a?k???a?1??a?0?? with 0≤a?i??<10 for all i and a?k??>0. Then N is palindromic if and only if a?i??=a?k?i?? for all i. Zero is written

pat 1054 The Dominant Color(20 分)

1054 The Dominant Color(20 分) Behind the scenes in the computer's memory, color is always talked about as a series of 24 bits of information for each pixel. In an image, the color with the largest proportional area is called the dominant color. A str