題意:給你加密的字符串,要你求源串,如何加密題上說了有,所以直接判斷奇偶掃一遍就OK;
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
int n;
scanf("%d",&n);
string s;
cin>>s;
char ans[2500];
int left,right;
if(n&1){
int mid=n/2;
ans[mid]=s[0];//填中間
left=mid-1,right=mid+1;
for(int i=1;i<n;i++){//兩邊填,這裏用筆寫一下就很好理解了
if(i&1){
ans[left--]=s[i];
}else {
ans[right++]=s[i];
}
}
}else{
int mid=n/2-1;
ans[mid]=s[0];
left=mid-1,right=mid+1;
for(int i=1;i<n;i++){//兩邊填
if(i&1)ans[right++]=s[i];
else ans[left--]=s[i];
}
}
ans[right]='\0';//注意char *需要'\0'作爲結束符
printf("%s\n",ans);
return 0;
}