Problem B.字符串操作(2017计算机)

Paula ·
更新时间:2024-09-21
· 803 次阅读

题目描述
给定一个长度为n (n>=1)的字符串序列,标记为[a1a2…an],在字符串序列上定义以下5种操作类型,分别标号为1,2,3,4,5,同时l和r分别表示al 和ar 的下标,len 表示需要操作的子序列长度。操作定义如下:
在这里插入图片描述
输入格式

第一行输入n和m,表示字符串序列长度n和操作命令数m,
第二行输入n个整数构成字符串序列,在第三行及之后各行(共计m行)中,每行输入一个操作类型命令

输出格式

输出每次的第5种操作类型的结果

Example Inputs

9 8 1 2 3 4 5 6 7 8 9 1 4 8 5 7 9 2 2 5 3 5 5 9 3 5 8 3 4 3 8 5 7 9 5 1 9 18 26 20 40 #include using namespace std; int str[101]; int main() { int n,m,ans; cin>>n>>m; memset(str,0,sizeof(str)); for(int i=1; i>str[i]; } while(m--) { int op,l,r,len,x; cin>>op>>l>>r; int sum=0; switch(op) { case 1: reverse(str+l,str+r+1); break; case 2: cin>>len; for(int j=0; j>x; for(int i=l;i<=r;i++){ str[i]=x; } break; case 4: sort(str+l,str+r+1); break; case 5: sum=0; for(int i=l;i<=r;i++){ sum+=str[i]; } cout<<sum<<endl; break; default: break; } } }
作者:July_zh



problem 字符串 字符

需要 登录 后方可回复, 如果你还没有账号请 注册新账号