Code--POJ 1850
2010-07-28 21:46
204 查看
1、题目类型:组合数学。
2、解题思路:模拟后发现题意为组合数学的简单题。
3、注意事项:求排列组合函数C()的定义,C()中 (n-m)<m?(n-m):m 将大大提高运算效率。
4、实现方法:
2、解题思路:模拟后发现题意为组合数学的简单题。
3、注意事项:求排列组合函数C()的定义,C()中 (n-m)<m?(n-m):m 将大大提高运算效率。
4、实现方法:
#include<iostream> #include<string> #include<algorithm> using namespace std; int Arr[11]; int C(int n,int m) { int r=1; int h=(n-m)<m?(n-m):m; for(int i=1;i<=h;i++) { r*=n; r/=i; n--; } return r; } void SetTable() { for(int i=1;i<=10;i++) Arr[i]=C(26,i); } int main() { char str[11]; string s,s1; __int64 ans=0; SetTable(); cin>>str; s=s1=str; sort(s.begin(),s.end()); if(s!=s1) { cout<<0<<endl; return 0; } int len=strlen(str); for(int i=len-1;i>=1;i--) ans+=Arr[i]; for(int t='a';t<str[0];t++) ans+=C('z'-t,len-1); for(int j=1;j<len;j++) for(int k=str[j-1]+1;k<str[j];k++) ans+=C('z'-k,len-j-1); printf("%I64d\n",ans+1); return 0; }
相关文章推荐
- POJ-1850-Code-组合数学
- 排列组合:poj 1496 Word Index+poj 1850 Code
- ACM POJ - 1850- Code
- (Relax 数论1.25)POJ 1850 Code(求某个字符串在字典中的位置)
- POJ - 1850 Code
- POJ_1850_Code_DP,递推
- POJ 1850 Code ,1496 Word Index(组合计数)
- POJ 1850 Code (组合数学)
- 【POJ 1850】 Code
- poj 1850 code
- POJ1850——Code(组合数学)
- poj 1850 Code
- POJ 1850 Code (递推数学)
- poj 1850 Code (组合数学)
- POJ 1850 Code 字符串 难度:1
- POJ1850-Code 递推数学
- poj 1850 code
- poj 1850 Code(组合计数)
- POJ1850 Code 【排列组合】
- POJ 1850 Code (组合数学)