開啟章節選單
417 Word Index
#include <bits/stdc++.h> using namespace std; //author:Jackis666 int main(){ int dp[6][27]={0}; for(int i=1;i<27;i++){ dp[1][i]=dp[1][i-1]+1; } for(int i=2;i<6;i++){ dp[i][0]=dp[i-1][26]; for(int j=1;j<27;j++){ dp[i][j]=dp[i][j-1]+dp[i-1][26]-dp[i-1][j]; } } string s; while(cin>>s){ int n=s.size(); bool ok=false; for(int i=0;i<n-1;i++){ if(s[i]>=s[i+1]){ cout<<"0\n"; ok=true; break; } } if(ok) continue; int ans=0; for(int i=1;i<n;i++){ ans+=dp[n-i][s[i]-'a']-dp[n-i][s[i-1]-'a'+1]; } ans+=dp[n][s[0]-'a']+1; cout<<ans<<endl; } }