2026.4.2

7-35 6翻了

https://pintia.cn/problem-sets/2037056710707339264/exam/problems/type/7?problemSetProblemId=2037056710849945633

延长字符串,使用s.push_back('s')不容易出错

小秦种树

//相当于上一题,可知要开个数组t[p]代表p这个区间的数字和 。

//同时为了及时得到是否需要对区间进行开根号操作,还要开个数组

//Add,其中add[p]=1代表这个区间不需要再开根号了,add[p]=0代表这个区间需要再开根号了。

//则对于某个区间p,只有当其左右两个子树都不要进行开根号操作时,它

//才具备不需要进行开根号的操作。

// 即add[p]=add[p1]&add[p2];

//对每个区间统计总和(反正要输出的),如果总和<=1,则打上一

//个标记,代表是没必要再开根号了。

#include<bits/stdc++.h>

using namespace std;

#define int long long

signed main()

{

string s,ans;

getline(cin,s);

int cur=0,anscur=-1;

while(cur<s.size())

{

if(s[cur]=='6')

{

// cout<<s[cur]<<" 1"<<endl;

int len=0;

while(s[cur+len]=='6')

{

len++;

}

// cout<<"len "<<len<<endl;

cur+=len;

if(len>3&&len<=9)

{

anscur++;

ans[anscur]='9';

// cout<<"in"<<anscur<<ans[anscur]<<endl;

}

if(len>9)

{

anscur++;

ans[anscur]='2';

anscur++;

ans[anscur]='7';

}

if(len<=3)

{

for(int i=0;i<len;i++)

{

anscur++;

ans[anscur]='6';

}

}

}

else

{

// cout<<s[cur]<<" 2"<<endl;

anscur++;

ans[anscur]=s[cur];

cur++;

}

}

// cout<<"si"<<anscur<<endl;

for(int i=0;i<=anscur;i++)

{

cout<<ans[i];

}

return 0;

}

相关推荐
运维行者_1 分钟前
ITOps自动化:全面解析
java·服务器·开发语言·网络·云计算
灰灰勇闯IT3 分钟前
MindSpore 和 CANN 是什么关系——用一个厨房讲明白
人工智能·深度学习·算法·cann
Chase_______3 分钟前
【Java杂项】为什么 b += 1 可以,但 b = b + 1 会报错?类型提升与复合赋值详解
java·开发语言·python
阳明山水3 分钟前
模型迭代实战:如何将准确率从75%提升到89%
数据结构·人工智能·算法·机器学习·微信·微信公众平台·微信开放平台
呃呃本16 分钟前
算法题(贪心算法)
算法·贪心算法
basketball61616 分钟前
C++ 面向对象编程:思想、原则与实践
开发语言·c++
曹牧16 分钟前
C#:DataGridView控件中展示JSON内容
开发语言·c#·json
AIFQuant16 分钟前
JavaScript 前端集成贵金属 K 线图:10 分钟快速实现
开发语言·前端·javascript·websocket·金融·期货api
听你说3216 分钟前
不迷路、不重扫、不遗漏:库萨科技无人清扫车以空间智能领跑无人环卫赛道
人工智能·科技·算法·机器人
范什么特西17 分钟前
idea里面jsp找不到图片
java·开发语言·servlet