当前位置: 首页 > news >正文

题目:这不是字符串题

问题描述:PTA | 程序设计类实验辅助教学平台


思路:这里的正整数 Ai​ (1≤Ai​≤26),正好对应26个字母,所以可以映射成字符串去做,最后还原。


代码:

#include <bits/stdc++.h>
using namespace std;
#define int long longsigned main(){int n, m; cin >> n >> m;string s;for(int i = 1; i <= n; i++){int x;cin >> x;s += char('a' + x - 1); }while(m--){int op; cin >> op;if(op == 1){int x; cin >> x;int len = x;string t;while(x--){int k; cin >> k;t += char('a' + k - 1);}int x2; cin >> x2;int len2 = x2;string t2;while(x2--){int k; cin >> k;t2 += char('a' + k - 1);}if(s.find(t) == string :: npos){continue;}else{s.replace(s.find(t), len, t2);}}else if(op == 2){string ne;for(int i =0; i < s.length() - 1; i++){int x1 = s[i] - 'a' + 1, x2 = s[i + 1] - 'a' + 1;if((x1 + x2) % 2 == 0){ne += s[i];ne += char((x1 + x2) / 2 + 'a' - 1);}else{ne += s[i];}	}ne += s[s.length()-1];s = ne; }else{int l, r; cin >> l >> r;reverse(s.begin() + l - 1, s.begin() + r);  // 题目A数组从0开始 }	}for(int i = 0; i < s.length(); i++){int x = (s[i] - 'a' + 1);if(i != s.length() - 1)cout << x << " ";else cout << x;} return 0;
} 

相关文章:

  • UML 活动图详解:以机票预订系统用户注册为例
  • 3dmax模型怎么处理3dtiles,制作制作B3DM格式文件
  • Linux操作系统--基础I/O(上)
  • 如何获取静态IP地址?完整教程
  • 第15章:MCP服务端项目开发实战:性能优化
  • 蓝桥杯 1. 四平方和
  • 深入详解人工智能数学基础——概率论中的贝叶斯深度学习
  • 今日行情明日机会——20250424
  • Python基础语法:字面量,注释,关键字,标识符,变量和引用,程序执行的3大流程
  • 指纹浏览器电商防关联功能深度解析:技术原理与实战应用
  • Docker 磁盘占用盘查和清理
  • 深入解析 Android Native Hook
  • 【硬核干货】JetBrains AI Assistant 干货笔记
  • react nativeWebView跨页面通信
  • PostgreSQL 中的权限视图
  • JavaScript 异步编程与请求取消全指南
  • 11.原型模式:思考与解读
  • DMG 文件隐写
  • React Native 安卓端 android Image 播放gif webp 动态图
  • 学习MySQL的第十一天
  • 工人日报关注跟着演出去旅游:票根经济新模式兴起,让过路客变过夜客
  • 伊朗港口爆炸最新事故调查报告公布,2名管理人员被捕
  • 五年来首次!香港金管局斥资465.39亿港元购买美元
  • 亚马逊一季度利润增超六成:云业务增速放缓,警告关税政策或影响业绩指引
  • 长三角铁路今日预计发送旅客420万人次,有望创单日客发量新高
  • 民营经济促进法出台,自今年5月20日起施行