麦睿生 • 3个月前
#include<bits/stdc++.h>
using namespace std;
string s1;
int now=1;
void input_data()
{
cin>>s1;
int ll=s1.size();
ll--;
for(int i=0;i<=ll-1;i++)
{
if(s1[i]>s1[i+1])
{
printf("0");
exit(0);
}
if(s1[i]<'a'||s1[i]>'z')
{
printf("0");
exit(0);
}
}
}
void get_ans()
{
string s2="a";
while(s2!=s1)
{
int l=s2.size();
l--;
if(s2[l]<'z')
{
s2[l]++;
now++;
}
else
{
bool bo=true;
for(int i=l-1;i>=0;i--)
if(s2[i]!=(s2[i+1]-1))
{
bo=false;
break;
}
if(bo)
{
l++;
s2+='a';
for(int i=0;i<=l;i++)
s2[i]='a'+i;
now++;
}
else
{
int temp=l-1;
while(s2[temp]==s2[temp+1]-1)
{
temp--;
}
s2[temp]++;
for(int i=temp+1;i<=l;i++)
{
s2[i]=s2[i-1]+1;
}
now++;
}
}
}
}
void output_ans()
{
printf("%d",now);
}
int main()
{
input_data();
get_ans();
output_ans();
return 0;
}
评论: