题目描述:
给定一个字符串S1,S2,…..Sn,按如下过程加密:取出第一个字符S1,将第二个字符S2放到字符串的末尾Sn后面,得到字符串S3…..Sn,S2;接着把S3取出,S4放到字符串的末尾S2后面,直到最后一个字母Sn被取出。这些字母按取出的顺序形成一个新的字符串,称为密串,请编写一个加密程序,输入一个字符串(长度小于等于1000),输出该字符串的密串。
输入格式:
给定一个字符串。
输出格式:
输出处理后的字符串。
样例输入:
STRING
样例输出:
SRNTGI
时间限制: 1000ms
空间限制: 256MB
本题写着写着发现不用队列也能做,似乎更简单。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
char a[2001]={};
queue <char> q;
cin>>a;
int s=strlen(a);
for(int i=0;i<s;i++){
if(i%2==0){
cout<<a[i];
}else{
a[s]=a[i];
s++;
}
}
return 0;
}