Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("cod.in");
- ofstream fout("cod.out");
- char s[11], ch, c;
- int n, ok, p, t, sm;
- double m, d;
- int v[]={0,0,0,2603,17441,51005,213320,379086,2533986,0,9911444};
- int binomialCoeff(int nr, int k)
- {
- int res = 1;
- if (k > nr - k)
- k = nr - k;
- for (int i = 0; i < k; ++i)
- {
- res *= (nr - i);
- res /= (i + 1);
- }
- return res;
- }
- int main()
- {
- int i, j;
- fin>>c;
- s[n++]=c;
- while(fin>>ch && !ok)
- {
- if(ch>c)
- s[n++]=ch;
- else
- ok=1;
- c=ch;
- }
- if(ok)
- {
- fout<<0;
- return 0;
- }
- if(n==1)
- {
- fout<<(int)(s[0]+1-'a');
- return 0;
- }
- if(n==2)
- {
- m=26;
- for(int i=1; i<=(int)(s[0]+1-'a'); ++i)
- {
- sm+=m;
- m--;
- }
- sm=sm+1+(int)(s[1]+1-'a')-(int)(s[0]+1-'a'+1);
- fout<<sm;
- return 0;
- }
- for(i=1; i<=n; ++i)
- {
- d=1;
- m=1;
- for(j=1; j<=i; ++j)
- {
- m=m*(27-j);
- d=d*j;
- }
- m=m/d;
- sm+=(int)m;
- }
- for(t=1; t<n; ++t)
- {
- if(t>1)
- p=(int)(s[t-1])-96;
- for(i=p+1; i<=(int)(s[t])-97; ++i)
- {
- d=1;
- m=1;
- for(j=1; j<=n-t; ++j)
- {
- m=m*(27-j-i);
- d=d*j;
- }
- m=m/d;
- sm=sm+(int)m;
- }
- }
- fout<<v[n];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement