国王的魔镜-2
题目描述
国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话,魔镜会把这条项链变为ABBA。如果再用一端接触的话,则会变成ABBAABBA(假定国王只用项链的某一端接触魔镜)。给出初始链条和操作次数,给出最终的链条。
输入格式
只有一个字符串,由大写英文字母组成(字母数<=10)
一个整数 n(字母数<=10),表示魔镜的操作次数
输出格式
只有一个整数,表示国王使用魔镜后,最后的项链
样例 #1
样例输入 #1
AB
2
样例输出 #1
ABBAABBA
#include <iostream>
#include <cstring>
#include <stack>
using namespace std;
string s;
int n;
stack <int> stars;
int main(){
cin>>s;
cin>>n;
for(int i=0;i<n;i++){
for(int k=0;k<s.size();k++){
stars.push(s[k]);
}
while(!stars.empty()){
s+=stars.top();
stars.pop();
}
}
cout<<s;
return 0;
}