|
- #include <algorithm>
- #include <iostream>
- #include <cmath>
- #include <cstring>
- #include <map>
- #include <string>
- #include <vector>
- #include <queue>
- #include <stack>
- #include <cstdio>
- #include <cstdlib>
- using namespace std;
- int C(int m1,int n1)
- {
- double t=1.00;
- for(int i=0;i<n1;i++)
- t*=(m1-i),t/=(n1-i);
- return floor(0.5+t);
- }
- string a;
- long long all=0;
- int main()
- {
- cin>>a;
- for(int i=1;i<a.size();i++)
- all+=C(26,i);
- for(int i=1;i<a.size();i++)
- if(a[i-1]>=a[i])
- {
- printf("0");
- return 0;
- }
- for(int i=0;i<a.size();i++)
- for(int j=i!=0?a[i-1]-'a'+1:0;j<=(i==a.size()-1?a[i]-'a':a[i]-'a'-1);j++)
- all+=C(25-j,a.size()-1-i);
- printf("%lld",all);
- return 0;
- }
复制代码 |
|