1052 卖个萌

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LightInDarkness/article/details/83004245

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

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

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

输入格式:

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

分析:

       这是一个字符串处理的问题,因为一开始给定的表情符号中可能会有空格,所以这里选用getline()。对'[' ']' ' '三个字符做一下特殊处理,将其他内容存入字符串数组即可。

       如果说我踩了的什么坑的话,就是输入数据可能会小于1。一开始没对此加判断,样例2,3没过,加上就好了。

#include<iostream>

using namespace std;

int main(){
	string hand[10000], eyes[10000], mouth[10000];
	string s;
	int K;
	int cnt1 = 1, cnt2 = 1, cnt3 = 1;
	for(int i = 0; i < 3; i++){
		getline(cin, s);
		//依次为头、眼、手 
		if(i == 0){
			for(int i = 0; i < s.length(); i++){
				if(s[i] == '[' || s[i] == ' ') continue;
				else if(s[i] == ']') cnt1++;
				else hand[cnt1] += s[i];
			}
		}else if(i == 1){
			for(int i = 0; i < s.length(); i++){
				if(s[i] == '[' || s[i] == ' ') continue;
				else if(s[i] == ']') cnt2++;
				else eyes[cnt2] += s[i];
			}
		}else{
			for(int i = 0; i < s.length(); i++){
				if(s[i] == '[' || s[i] == ' ') continue;
				else if(s[i] == ']') cnt3++;
				else mouth[cnt3] += s[i];
			}
		}
	}
	cin >> K;
	for(int i = 0; i < K; i++){
		int temp1, temp2, temp3, temp4, temp5;
		cin >> temp1 >> temp2 >> temp3 >> temp4 >> temp5;
		if(temp1 >= cnt1 || temp5 >= cnt1 || temp2 >= cnt2 || temp4 >= cnt2 || temp3 >= cnt3 ||
			temp1 < 1 || temp2 < 1 || temp3 < 1 || temp4 < 1 || temp5 < 1){
			cout << "Are you kidding me? @\\/@" << endl;
		}else{
			cout << hand[temp1] << '(' << eyes[temp2] << mouth[temp3] << eyes[temp4] << ')' << hand[temp5] << endl;
		}
	}
}

猜你喜欢

转载自blog.csdn.net/LightInDarkness/article/details/83004245
今日推荐