2019阿里笔试题目

2019阿里笔试题目输入:singer_周杰|周杰伦|刘德华|王力宏;song_冰雨|北京欢迎你|七里香;actor_周杰伦|孙俪;请播放周杰伦的七里香给我听输出:请播放周杰伦/singer/actor的七里香/song给我听当场没有写出来,所以也不知道其他样例啥样子,只好先ac了样例再说吧#include<iostream>#include<string&gt…

大家好,又见面了,我是你们的朋友全栈君。

输入:

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的小伙伴,希望能把题目发给我,我还想继续做>_<

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142520.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月23日 下午4:00
下一篇 2022年5月23日 下午4:00


相关推荐

  • SpringBoot自定义starters

    SpringBoot自定义startersSpringBoot自定义starters1、简介2、如何自定义starter1、简介SpringBoot最强大的功能就是把我们常用的场景 抽象成一个个starter(场景启动器),我们通过引入springBoot为我们提供这些场景启动器,我们再进行少量的配置就能使用相应的功能。但是,SpringBoot不能包含所有的场景,经常需要我们自定义starter,来简化我们对springBoot的使用。2、如何自定义starter…

    2025年8月14日
    4
  • phpstorm 3.3激活码【在线破解激活】

    phpstorm 3.3激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    43
  • 2020-10-24 今年的1024

    2020-10-24 今年的1024作为一个伪程序员,写下自己的感受吧1.想靠编程这个饭碗吃饭,就要把这个技术搞扎实,说其他都都没有用;2.找到自己的用武之地,有自己的特点,有自己的能力才可以。3.坚持每天学习,每天总结,这是一生的好习惯【我是做不到】;4.考虑自己的年龄,找到自己年龄段该有的能力,该做的事情;…

    2022年6月24日
    26
  • 随机梯度下降算法_梯度下降算法的正确步骤

    随机梯度下降算法_梯度下降算法的正确步骤主要内容:提供不同算法的原理以及效果直观展示,并希望读者能够在实际问题中更合理的选用梯度下降类算法。目录:1.简介梯度下降法2.随机梯度下降3.随机梯度下降的问题与挑战4.随机梯度下降的优化算法(主要内容)

    2025年10月23日
    4
  • Marsaglia XORshift随机数算法「建议收藏」

    Marsaglia XORshift随机数算法「建议收藏」引理:二进制矩阵相乘中加法为异或。给定非空向量beta和n阶矩阵T,序列beta*T,beta*T^2,beta*T^3,…的秩为2^n-1的充要条件是矩阵T为非奇异矩阵.L是左移位操作,y=y^(y>b)表示为y=y*(E+R^b),令T=(E+L^a)(E+R^b),n=32或64,找不到这样的非奇异矩阵。但是令T=(E+L^a)*(E+R^b)*(E+L^c)能找

    2022年7月26日
    11
  • linux ldd命令源代码,Linux中ldd命令的用法详解[通俗易懂]

    linux ldd命令源代码,Linux中ldd命令的用法详解[通俗易懂]Linux中ldd命令主要用于查看程式运行所需的共享库,那么ldd命令具体要如何使用呢?下面小编就给大家介绍下Linux下ldd命令的使用方法,感兴趣的朋友一起来学习下吧。ldd命令用于判断某个可执行的binary档案含有什么动态函式库LinuxLdd参数说明:–version  打印ldd的版本号-v–verbose  打印所有信息,例如包括符号的版本信息-d–data-relo…

    2022年5月6日
    215

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号