2019阿里笔试题目

输入:

singer_周杰|周杰伦|刘德华|王力宏;song_冰雨|北京欢迎你|七里香;actor_周杰伦|孙俪;
请播放周杰伦的七里香给我听

输出:

请播放 周杰伦/singer/actor 的 七里香/song 给我听

当场没有写出来,所以也不知道其他样例啥样子,只好先ac了样例再说吧

#include <iostream>
#include <string>

using namespace std;

string str[100][1000];

int main(){
	string input;
	cin >> input;
	string input2;
	cin >> input2;
	int j = 0, m = 0;

	int l = 0;
	for (int i = 0; i < input.length(); i++){ //处理第一句
		if (input[i] == ';' || input[i] == '|' || input[i] == '_'){
			str[j][m].append(input.substr(l, i - l));
			if (input[i] == ';'){
				j++;
				m = 0;
			}
			else
				m++;
			l = i + 1;
			continue;
		}
	}
    //接下来就把样例当做固定格式来处理,即“请播放”,“的”,“给我听”永远不变,然后我的代码就很简单了
	l = 6;
	cout << "请播放 ";
	for (int i = 6; i < input2.length(); i++){
		string t;
		
		if (input2.substr(i, 2) == "的"){
			t = input2.substr(l, i - l);
			cout << t ;
			for (int k = 0; k < j; k++){
				for (int n = 1; str[k][n] != ""; n++){
					if (str[k][n] == t)
						cout << '/' << str[k][0];
				}
			}
			cout << " 的" ;
			l = i + 2;
			t = input2.substr(l, input2.length() - 6 - l);
			cout << t;
			for (int k = 0; k < j; k++){
				for (int n = 1; str[k][n] != ""; n++)
					if (str[k][n] == t)
						cout << '/' << str[k][0];
			}
			cout << " 给我听" << endl;
		}
	}

	return 0;
}

如果有还记得题目的小伙伴或者ac的小伙伴,希望能把题目发给我,我还想继续做>_<

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值