社区讨论

厌氧代码求调

学术版参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lqrpdkbg
此快照首次捕获于
2023/12/30 14:49
2 年前
此快照最后确认于
2023/12/30 17:44
2 年前
查看原帖

展开序列

题目描述

请对一下格式进行展开:
[2](abc)def要展开成abcabcdef
[2](abp[3](d))要展开成abpdddabpddd
[2](ab)cd[3](e)123要展开成ababcdeee123
可能存在多层钳套,方括号中的数字可能不止一位。

输入格式

输出格式

提示

三个测试样例:
CPP
[2](abc)def
[2](ab)cd[3](e)123
9897[12](hj)ioioio[2](uio[3](a[5](mn)b))567
其对应的三个输出样例:
CPP
abcabcdef
ababcdeee123
9897hjhjhjhjhjhjhjhjhjhjhjhjioioiouioamnmnmnmnmnbamnmnmnmnmnbamnmnmnmnmnbuioamnmnmnmnmnbamnmnmnmnmnbamnmnmnmnmnb567

我的代码:

CPP
#include<iostream>
using namespace std;
string read()
{
	int n;
	string s="",s1;
	char c;
	while(cin>>c)
	{
		if(c=='[')
		{
			cin>>n;
			getchar();getchar();
			s1=read();
			while(n--)
			{
				s+=s1;
			}
		}
		else
		{
			if(c==')')
			{
				return s;
			}
			else
			{
				s+=c;
			}
		}
	}
}
int main()
{
	string s;
	s=read();
	for(int i=0;i<s.size();i++)
	{
		if(s[i]!='['&&s[i]!=']'&&s[i]!='('&&s[i]!=')')
		{
			cout<<s[i];
		}
	}
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...