标签:class code com string os name
还不算是难题(嘿嘿,因为我做出来了)
很简单,找到相应的方程式解就是了(中间也犯了一个很2的错误,把9+10+11+...+99写成(1+90)*90/2,改过来后就好了)
不多说,code is below
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int combi(int a,int b)
{
int sum=1;
int j=1;
for(int i=a;i>=a-b+1;i--)
{
sum*=i;
while(j<=b&&sum%j==0)
{
sum/=j;
j++;
}
}
return sum;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("/home/test/samplein","r",stdin);
freopen("/home/test/sampleout","w",stdout);
#endif
char words[1111];
scanf("%s",words);
int len=strlen(words);
for(int i=0;i<len-1;i++)
{
if(words[i]>=words[i+1])
{
printf("0\n");
return 0;
}
}
int sum=0;
for(int i=1;i<len;i++)
{
sum+=combi(26,i);
}
for(int i=0;i<len;i++)
{
int j;
if(i==0)
j='a';
else
j=words[i-1]+1;
for(;j<words[i];j++)
{
sum+=combi('z'-j,len-i-1);
}
}
printf("%d\n",sum+1);
return 0;
}POJ1850 Code 【排列组合】,布布扣,bubuko.com
标签:class code com string os name
原文地址:http://blog.csdn.net/u011775691/article/details/34861973