poj 1850-code解题报告
2012-05-29 23:53
211 查看
利用组合数学的一道题,对于一个序列先找长度比这个序列短的序列个数,再找长度相同的序列的个数
View Code
View Code
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int c[30][30]; char s[15]; int main() { int i,len,j,code; c[0][0]=1; for(i=1;i<=26;i++) for(j=0;j<=i;j++) c[i][j]=j?c[i-1][j-1]+c[i-1][j]:1; scanf("%s",s); len=strlen(s); for(i=0;i<len-1;i++)//注意这里要直接结束 { if(s[i]>=s[i+1]) { printf("0\n"); return 0; } } code=1; for(i=1;i<len;i++) code+=c[26][i]; for(i=0;i<len;i++) { char t=i?s[i-1]+1:'a'; for(;t<=s[i]-1;t++) code+=c['z'-t][len-1-i]; } printf("%d\n",code); return 0; }
相关文章推荐
- poj解题报告——1850
- POJ 1850 Code组合数学(解题报告)
- POJ-2769-Reduced ID Numbers 解题报告
- POJ 1218 解题报告
- CodeforcesRound #322 (Div. 2) 解题报告
- POJ 2503 解题报告
- poj1469 COURSES(匈牙利算法)(解题报告)
- poj 2777-Count Color解题报告
- POJ-1988-Cube Stacking 解题报告
- Poj Jungle Road (优先队列Prim算法) 解题报告
- 【解题报告】Educational Codeforces Round 14
- POJ 2376 解题报告
- CodeVS 2370 LCA 解题报告
- 【poj 1850】Code 题意&题解&代码(C++)
- POJ 2004解题报告
- POJ 1001解题报告
- POJ 1845 Sumdiv 解题报告(二分 & 逆元)
- POJ 3468.A Simple Problem with Integers 解题报告
- POJ1753 解题报告
- Codeforces Round #306 (Div. 2) D.E. 解题报告