首页 > 其他分享 >牛客 NC16644 字符串展开 模拟

牛客 NC16644 字符串展开 模拟

时间:2024-12-22 19:20:04浏览次数:8  
标签:p2 p1 int NC16644 char 牛客 && 字符串

#include<bits/stdc++.h>
using namespace std;
int p1, p2, p3;
string s;
bool judge_char(char x,char y)
{
	if(x>='a'&&x<='z'&&y>='a'&&y<='z')
		return 1;
	return 0;
}
bool judge_int(char x,char y)
{
	if(x>='0'&&x<='9'&&y>='0'&&y<='9')
		return 1;
	return 0;
}
int main()
{
	cin>>p1>>p2>>p3; 
	cin.ignore();
	getline(cin,s);
	for(int i=1; i<s.size()-1; i++)
	{
		if(s[i]=='-'&&(judge_char(s[i-1],s[i+1])||judge_int(s[i-1],s[i+1])))
		{
			if(s[i-1]>=s[i+1])
				continue;
			else if(s[i-1]==s[i+1]-1)
				s.erase(i,1);
			else 
			{
				string s1="";
				if(p1==1)
				{
					for(char x=s[i-1]+1;x<s[i+1];x++)
						for(int j=0;j<p2;j++)
							s1+=x;
				}
				else if(p1==2)
				{
					if(judge_char(s[i-1],s[i+1]))
						for(char x=s[i-1]+1;x<s[i+1];x++)
							for(int j=0;j<p2;j++)
								s1+=x-32;
					else
						for(char x=s[i-1]+1;x<s[i+1];x++)
						for(int j=0;j<p2;j++)
							s1+=x;
				}
				else if(p1==3)
				{
					for(char x=s[i-1]+1;x<s[i+1];x++)
						for(int j=0;j<p2;j++)
							s1+='*';
				}
				if(p3==2)
					reverse(s1.begin(),s1.end());
				s.erase(i,1);
				s.insert(i,s1);
				i+=s1.size();
			}
		} 
	}
	cout<<s;
 } 

标签:p2,p1,int,NC16644,char,牛客,&&,字符串
From: https://www.cnblogs.com/jinshuli/p/18622413

相关文章

  • Python字符串及正则表达式(十一):正则表达式、使用re模块实现正则表达式操作
    前言:在Python编程的广阔天地中,字符串处理无疑是一项基础而关键的技能。正则表达式,作为处理字符串的强大工具,以其灵活的模式匹配能力,在文本搜索、数据清洗、格式验证等领域发挥着不可替代的作用。本系列博客已经带领大家逐步深入了Python字符串操作的多个方面,从基础的字......
  • 牛客周赛 Round 72
    怎么全是01串A枚举除了末尾的字符,判断下一个是否与它不同,不同则对答案的贡献++B找一个连续子串是好串,如果我们找到长度为len的子串,那么从中任意截取一段均为好串长度为len的子串1个长度为len-1的子串2个.....长度为2的子串len-1个用等差数列公式一个长度为len的好串......
  • 2024/12/15 【字符串】卡码网55.右旋字符串 【√】 知识点:input函数的返回值类型是字
    55.右旋字符串(第八期模拟笔试)右旋字符串|代码随想录defrotateRight(s:str,k:int):t=s[-k:]s=t+s[:-k]returnsif__name__=="__main__":k=int(input())s=input()print(rotateRight(s,k))1.Python输入一个整数k的操作错......
  • 写一个方法反转给定的字符串
    在前端开发中,你可以使用JavaScript来反转一个给定的字符串。以下是一个简单的方法,使用JavaScript的内置函数来实现字符串的反转:functionreverseString(str){returnstr.split('').reverse().join('');}//使用示例varoriginalString="Hello,World!";varreversed......
  • pta 7-363 sdut-C语言实验-简单字符串排序
    题解:#include<iostream>#include<string>usingnamespacestd;//定义学生结构体structstudent{stringname;intscore;};//快速排序实现单词字典序排序voidQuickSort(studentstu[],intleft,intright){if(left>=right)return;inti=left,j=r......
  • 【Web】0基础学Web—函数、箭头函数、函数闭包、函数参数、js作用域、字符串
    0基础学Web—函数、箭头函数、函数闭包、函数参数、js作用域、字符串函数函数声明函数调用函数事件调用函数匿名函数立即执行函数箭头函数函数闭包函数参数js作用域字符串字符串创建字符串方法字符串拼接字符串截取去除字符串首尾空格遍历其他函数function函数名(......
  • 2024年华为OD机试真题-字符串变换最小字符串-C++-OD统一考试(E卷)
     最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客     每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,持续跟新。 题目描述࿱......
  • 来自漂亮国大师的字符串去重小技巧
    importstd;usingnamespacestd;intmain(){unordered_map<string,int>m;for(stringline;getline(cin,line);)if(m[line]++==0)cout<<line<<'\n';}这段代码的功能是从输入流中读取多行字符串并输出不重复的行(即每一......
  • Python中实现对数字字符串按位求和——sum()&map()
    要快速给数字字符串的每一位数求和,可以使用Python的内置函数来实现。以下是几种常见的方法:1.使用sum()和map()number_str='12345'result=sum(map(int,number_str))print(result)#输出:15解释:map(int,number_str):将字符串中的每一位字符转换为整数。m......
  • Python字符串及正则表达式(十一):正则表达式、使用re模块实现正则表达式操作
    前言:在Python编程的广阔天地中,字符串处理无疑是一项基础而关键的技能。正则表达式,作为处理字符串的强大工具,以其灵活的模式匹配能力,在文本搜索、数据清洗、格式验证等领域发挥着不可替代的作用。本系列博客已经带领大家逐步深入了Python字符串操作的多个方面,从基础的字符串操......