首页 > 其他分享 >字符串操作(1)

字符串操作(1)

时间:2024-02-03 15:22:31浏览次数:25  
标签:a% int x% ss 字符串 操作 size

题目P10058[https://www.luogu.com.cn/problem/P10058]

这道题要求对字符串进行指定的操作:循环移动和翻转
因为要输出操作后的字符串,所以我们不妨在原字符串的基础上进行操作

考虑循环移动:
因为只需要输出最后一次,所以不难想到我们可以记录最后输出的字符串的第一位在哪里,那么我们就可以定义一个x来储存当前位置,定义一个a储存移位个数
例如题目要求>2,此时
x+=a
如果是<12,那么要先取余再加
x+=a%s.size()
如果是>12,那么要注意x可能会变为负数,所以要
x-=a%s.size()
x+=s.size()
当然x可能会超过字符串长度,所以要在每次移动后加上
x%=s.size()

所以每次循环移动操作应该是这样的

点击查看代码
string ss;
int a;
cin>>ss;
if(ss=="<")
{
	cin>>a;
	x+=a%s.size();
	x%=s.size();
}
if(ss==">")
{
	cin>>a;
	x-=a%s.size();
	x+=s.size();
	x%=s.size();
}

考虑翻转:
这个只需要用一个c记录反向次数,当c==1时带表翻转奇数次,此时应该用reverse翻转一下,最后输出即可。

AC代码

点击查看代码
#include<bits/stdc++.h>
using namespace std;
string s;
int n,x,c;
int main()
{
	cin>>s>>n;
	for(int i=1;i<=n;i++)
	{
		string ss;
        int a;
		cin>>ss;
		if(ss=="<")
		{
			cin>>a;
			x+=a%s.size();
			x%=s.size();
		}
		if(ss==">")
		{
			cin>>a;
			x-=a%s.size();
			x+=s.size();
			x%=s.size();
		}
		if(ss=="rev")
		{
			x=s.size()-x;
			c=(c==1?0:1);
		}
	}
	if(c)
        reverse(s.begin(),s.end());
	for(int i=x;i<s.size();i++) 
        cout<<s[i];
	for(int i=0;i<x;i++) 
        cout<<s[i];
	return 0;
}

标签:a%,int,x%,ss,字符串,操作,size
From: https://www.cnblogs.com/huangshuhan/p/18004810

相关文章

  • 对称字符串-od-python
    题目描述对称就是最大的美学,现有一道关于对称字符串的美学。已知:第1个字符串:R第2个字符串:BR第3个字符串:RBBR第4个字符串:BRRBRBBR第5个字符串:RBBRBRRBBRRBRBBR相信你已经发现规律了,没错!就是第个字符串=第i-1号字符串取反+第i-1号字符串取反(R->B,B->R)现在告诉你n......
  • C#之linq和lamda表达式GroupBy分组拼接字符串
    业务需求:点击提示信息,如:“售后单【SH001】序列号【001,002,006】;售后单【SH002】序列号【003,007,009】。已经过了质保期,确认要继续关闭吗” 核心代码://lamda表达式varerrorMsgObj=getNoPay.GroupBy(s=>s["FBILLNO"]+"").Select(d=>new{......
  • NanoFramework操作ESP32(一)_基础元器件篇(四十)_ 干黄管传感器
    一、元器件介绍 1、针脚用途编号名称功能1AO模拟量输出2G电源地3+电源正4DO开关量输出,火焰大于某个值时输出高电压,低于阀值时输出低电平二、示例代码1、代码:元器件的针脚ESP32模块的针脚AO;声音模拟量输出-G;电源负G......
  • NanoFramework操作ESP32(一)_基础元器件篇(二十八)_ 火焰传感器
    一、元器件介绍  用于短距离火灾探测,可用于监视项目或作为安全预防措施来切断/打开设备。可以检测火焰或者波长在760nm~1100nm范围内的火焰光源;探测角度60度左右,对火焰光谱特别灵敏。使用宽电压LM393比较器,模拟量输出(A0):实时输出电压信号0~1023(适合高精度的场合)1、针脚用途......
  • 注册表监控工具可以近乎实时地监控注册表更改情况,让您不会错过任何问题。通过可自定义
    注册表监控工具可以近乎实时地监控注册表更改情况,让您不会错过任何问题。通过可自定义通知系统,您可以更轻松地及时了解用户操作或软件安装所引起的注册表更改。会在更改发生的当下显示更改(并让您进行检查和分析),而不是按特定间隔汇总活动数据,它还提供逐行精细数据,以更准确地查看注......
  • 字符串构建问题——cf_921_C. Did We Get Everything Covered?
    目录问题概述思路想法参考代码include<bits/stdc++.h>defineFAST_IOios::sync_with_stdio(false),cin.tie(0),cout.tie(0)defineendl'\n'definepllpair<longlong,longlong>definepiipair<int,int>definevivectordefinevlvectordefinelllo......
  • 融资租赁业务操作流程
    融资租赁业务操作流程 一、商务谈判及项目立项调查立项调查流程1、项目受理公司市场部门在受理租赁业务并了解客户基本情况和业务需求后,设计可行租赁方案.2、立项申请将《立项申请表》、《立项审批表》提交给立项评审工作小组。3、立项评审会审议、表......
  • Pdfium.Net.Free 一个免费的Pdfium的 .net包装器--PDF操作
    项目地址:Pdfium.Net:https://github.com/1000374/Pdfium.NetPdfiumViewer:https://github.com/1000374/PdfiumViewerPdfium.Net支持对PDF操作:转成图片拆分合并插入替换删除旋转导出缩略图多页合并成一页1.转成图片1.基于GDI+下:///<summary>///Rendersapa......
  • msf打永恒之蓝操作
    msf打永恒之蓝操作启动msf后,可以查看ms17-010的相关漏洞searchms17-010选用payload类型setpayloadwindows/x64/meterpreter/reverse_tcp选择漏洞利用类型:永恒之蓝setexploitwindows/smb/ms17_010_eternalblue设置攻击地址setrhost192.168.208.176攻......
  • PyTorch神操作:一图秒懂Tensor变形记!
    亲爱的码农小伙伴们,你们是否还在为Tensor的各种变换头大如斗?别怕,今天给大家送上一张超实用的PyTorch变换秘籍图,让你的Tensor操作如行云流水,CPU和GPU之间的切换如穿梭自如!......