求助
查看原帖
求助
977222
yanglich楼主2023/10/2 16:00

求助

#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;
} 
2023/10/2 16:00
加载中...