求助
#include<bits/stdc++.h>
using namespace std;
int n,b[1005],b1[1005];
string s,s3="",s2[1005];
char x[1005][1005],y[1005];
int main(){
cin>>n;
cin>>s;
// s2[1]="123";
// s2[2]="456";
// cout<<s2[1][0]<<" "<<s2[2][2];
// return 0;
for(int i=1;i<=n;i++){
cin>>b[i];
if(b[i]==1){
cin>>b1[i];
}
if(b[i]==2){
cin>>s2[i];
}
}
for(int i=n;i>=1;i--){
s3="";
if(b[i]==1){
for(int j=1;j<=b1[i];j++){
int js=0;
for(int k=((j-1)*(s.size()/b1[i]));k<(j*(s.size()/b1[i]));k++){
x[js][j]=s[k];
js++;
}
}
for(int j=0;j<s.size()/b1[i];j++){
for(int k=1;k<=b1[i];k++){
s3=s3+x[j][k];
}
}
s=s3;
//cout<<s<<"\n";
}
if(b[i]==2){
int js=0;
for(int j=0;j<s.size();j++){
if(s2[i][js]=='A'){
s3=s3+s[j];
}
if(s2[i][js]=='B'){
int ls=s[j];
if(ls+1>90){
char sl=ls+1-26;
s3=s3+sl;
}
else{
char sl=ls+1;
s3=s3+sl;
}
}
if(s2[i][js]=='C'){
int ls=s[j];
if(ls+2>90){
char sl=ls+2-26;
s3=s3+sl;
}
else{
char sl=ls+2;
s3=s3+sl;
}
}
if(s2[i][js]=='D'){
int ls=s[j];
if(ls+3>90){
char sl=ls+3-26;
s3=s3+sl;
}
else{
char sl=ls+3;
s3=s3+sl;
}
}
if(s2[i][js]=='E'){
int ls=s[j];
if(ls+4>90){
char sl=ls+4-26;
s3=s3+sl;
}
else{
char sl=ls+4;
s3=s3+sl;
}
}
if(s2[i][js]=='F'){
int ls=s[j];
if(ls+5>90){
char sl=ls+5-26;
s3=s3+sl;
}
else{
char sl=ls+5;
s3=s3+sl;
}
}
if(s2[i][js]=='G'){
int ls=s[j];
if(ls+6>90){
char sl=ls+6-26;
s3=s3+sl;
}
else{
char sl=ls+6;
s3=s3+sl;
}
}
if(s2[i][js]=='H'){
int ls=s[j];
if(ls+7>90){
char sl=ls+7-26;
s3=s3+sl;
}
else{
char sl=ls+7;
s3=s3+sl;
}
}
if(s2[i][js]=='I'){
int ls=s[j];
if(ls+8>90){
char sl=ls+8-26;
s3=s3+sl;
}
else{
char sl=ls+8;
s3=s3+sl;
}
}
if(s2[i][js]=='J'){
int ls=s[j];
if(ls+9>90){
char sl=ls+9-26;
s3=s3+sl;
}
else{
char sl=ls+9;
s3=s3+sl;
}
}
if(s2[i][js]=='K'){
int ls=s[j];
if(ls+10>90){
char sl=ls+10-26;
s3=s3+sl;
}
else{
char sl=ls+10;
s3=s3+sl;
}
}
if(s2[i][js]=='L'){
int ls=s[j];
if(ls+11>90){
char sl=ls+11-26;
s3=s3+sl;
}
else{
char sl=ls+11;
s3=s3+sl;
}
}
if(s2[i][js]=='M'){
int ls=s[j];
if(ls+12>90){
char sl=ls+12-26;
s3=s3+sl;
}
else{
char sl=ls+12;
s3=s3+sl;
}
}
if(s2[i][js]=='N'){
int ls=s[j];
if(ls+13>90){
char sl=ls+13-26;
s3=s3+sl;
}
else{
char sl=ls+13;
s3=s3+sl;
}
}
if(s2[i][js]=='O'){
int ls=s[j];
if(ls+14>90){
char sl=ls+14-26;
s3=s3+sl;
}
else{
char sl=ls+14;
s3=s3+sl;
}
}
if(s2[i][js]=='P'){
int ls=s[j];
if(ls+15>90){
char sl=ls+15-26;
s3=s3+sl;
}
else{
char sl=ls+15;
s3=s3+sl;
}
}
if(s2[i][js]=='Q'){
int ls=s[j];
if(ls+16>90){
char sl=ls+16-26;
s3=s3+sl;
}
else{
char sl=ls+16;
s3=s3+sl;
}
}
if(s2[i][js]=='R'){
int ls=s[j];
if(ls+17>90){
char sl=ls+17-26;
s3=s3+sl;
}
else{
char sl=ls+17;
s3=s3+sl;
}
}
if(s2[i][js]=='S'){
int ls=s[j];
if(ls+18>90){
char sl=ls+18-26;
s3=s3+sl;
}
else{
char sl=ls+18;
s3=s3+sl;
}
}
if(s2[i][js]=='T'){
int ls=s[j];
if(ls+19>90){
char sl=ls+19-26;
s3=s3+sl;
}
else{
char sl=ls+19;
s3=s3+sl;
}
}
if(s2[i][js]=='U'){
int ls=s[j];
if(ls+20>90){
char sl=ls+20-26;
s3=s3+sl;
}
else{
char sl=ls+20;
s3=s3+sl;
}
}
if(s2[i][js]=='V'){
int ls=s[j];
if(ls+21>90){
char sl=ls+21-26;
s3=s3+sl;
}
else{
char sl=ls+21;
s3=s3+sl;
}
}
if(s2[i][js]=='W'){
int ls=s[j];
if(ls+22>90){
char sl=ls+22-26;
s3=s3+sl;
}
else{
char sl=ls+22;
s3=s3+sl;
}
}
if(s2[i][js]=='X'){
int ls=s[j];
if(ls+23>90){
char sl=ls+23-26;
s3=s3+sl;
}
else{
char sl=ls+23;
s3=s3+sl;
}
}
if(s2[i][js]=='Y'){
int ls=s[j];
if(ls+24>90){
char sl=ls+24-26;
s3=s3+sl;
}
else{
char sl=ls+24;
s3=s3+sl;
}
}
if(s2[i][js]=='Z'){
int ls=s[j];
if(ls+25>90){
char sl=ls+25-26;
s3=s3+sl;
}
else{
char sl=ls+25;
s3=s3+sl;
}
}
js++;
if(js>=s2[i].size()){
js=0;
}
}
s=s3;
}
if(b[i]==3){
for(int j=0;j<s.size();j++){
if(s[j]=='Q'){
s3=s3+"A";
}
if(s[j]=='W'){
s3=s3+"B";
}
if(s[j]=='E'){
s3=s3+"C";
}
if(s[j]=='R'){
s3=s3+"D";
}
if(s[j]=='T'){
s3=s3+"E";
}
if(s[j]=='Y'){
s3=s3+"F";
}
if(s[j]=='U'){
s3=s3+"G";
}
if(s[j]=='I'){
s3=s3+"H";
}
if(s[j]=='O'){
s3=s3+"I";
}
if(s[j]=='P'){
s3=s3+"J";
}
if(s[j]=='A'){
s3=s3+"K";
}
if(s[j]=='S'){
s3=s3+"L";
}
if(s[j]=='D'){
s3=s3+"M";
}
if(s[j]=='F'){
s3=s3+"N";
}
if(s[j]=='G'){
s3=s3+"O";
}
if(s[j]=='H'){
s3=s3+"P";
}
if(s[j]=='J'){
s3=s3+"Q";
}
if(s[j]=='K'){
s3=s3+"R";
}
if(s[j]=='L'){
s3=s3+"S";
}
if(s[j]=='Z'){
s3=s3+"T";
}
if(s[j]=='X'){
s3=s3+"U";
}
if(s[j]=='C'){
s3=s3+"V";
}
if(s[j]=='V'){
s3=s3+"W";
}
if(s[j]=='B'){
s3=s3+"X";
}
if(s[j]=='N'){
s3=s3+"Y";
}
if(s[j]=='M'){
s3=s3+"Z";
}
}
s=s3;
}
}
cout<<s3;
return 0;
}