返回

CodeForces 805D Minimum number of steps

发布时间:2022-12-04 13:23:31 326
# c++

题目链接:​​http://codeforces.com/contest/805/problem/D​​​
题意:给你一个字符串,你要对他进行操作,直至不能操作为止,操作的结果是,遇到ab字符串就把他变成bba,问你最少需要多少次操作
解析:其实变几个你大概就能发现规律了,ab->bba,abb->bbab->bbbba,你会发现a后面跟着几个b,那就需要变几次,而且变过以后,b的个数会翻一倍,并且放到了a的前面,所以会对前面有影响,于是你从后往前面看就好了

#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9+7;
int main(void)
{
string a;
cin>>a;
int len = a.length();
int cnt = 0,ans = 0;
for(int i=len-1;i>=0;i--)
{
if(a[i]=='a')
{
ans = (ans+cnt)%mod;
cnt = (cnt*2)%mod;
}
else
cnt++;
}
printf("%d\n",ans);
return 0;
}

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
CodeForces 798A Mike and palindrome 2022-12-04 12:51:17