POJ 1850/ 1496 组合数学
2014-05-24 23:49
357 查看
POJ 1850/ 1496 组合数学
题目地址: POJ 1496 Word Index
POJ 1850 Code
题意:
1. 每个词是自增的
2. 同样长度的词是按字典序排练的
3. 我们把这些词标序
求某个词的序号
分析:
组合数学...
推出公式然后用杨辉三角打表出组合数,具体看/article/1968930.html。
我还是太弱Orz...
代码:
1496:
/* * Author: illuz <iilluzen[at]gmail.com> * File: 1496.cpp * Create Date: 2014-05-24 23:38:54 * Descripton: */ #include <cstdio> #include <cstring> #include <cmath> const int N = 27; int c , len, sum; char str[11]; void init() { for (int i = 0; i < N; i++) for (int j = 0; j <= i; j++) if (!j || i == j) c[i][j] = 1; else c[i][j] = c[i - 1][j - 1] + c[i - 1][j]; c[0][0] = 0; } int main() { init(); while (~scanf("%s", str)) { len = strlen(str); bool flag = true; for (int i = 1; i < len; i++) if (str[i - 1] >= str[i]) { puts("0"); flag = false; } if (!flag) continue; sum = 1; for (int i = 1; i < len; i++) { sum += c[26][i]; } for (int i = 0; i < len; i++) { char ch = (0 == i) ? 'a' : str[i - 1] + 1; while (ch <= str[i] - 1) { sum += c['z' - ch][len - i - 1]; ch++; } } printf("%d\n", sum); } return 0; }
1850:
/* * Author: illuz <iilluzen[at]gmail.com> * File: 1850.cpp * Create Date: 2014-05-24 23:10:11 * Descripton: */ #include <cstdio> #include <cstring> #include <cmath> const int N = 27; int c , len, sum; char str[11]; void init() { for (int i = 0; i < N; i++) for (int j = 0; j <= i; j++) if (!j || i == j) c[i][j] = 1; else c[i][j] = c[i - 1][j - 1] + c[i - 1][j]; c[0][0] = 0; } int main() { init(); scanf("%s", str); len = strlen(str); for (int i = 1; i < len; i++) if (str[i - 1] >= str[i]) { puts("0"); return 0; } sum = 1; for (int i = 1; i < len; i++) { sum += c[26][i]; } for (int i = 0; i < len; i++) { char ch = (0 == i) ? 'a' : str[i - 1] + 1; while (ch <= str[i] - 1) { sum += c['z' - ch][len - i - 1]; ch++; } } printf("%d\n", sum); return 0; }
相关文章推荐
- POJ 1850 Code/POJ 1496 Word Index(组合数学-字母串序号)
- poj1496(组合数学)-与1850几乎一样
- poj_1850 Code(组合数学/dfs)
- POJ 1850-Code(组合数学)
- POJ 1850 Code (组合数学)
- POJ 1850 Code (组合数学)
- POJ 1850 Code(组合数学)
- POJ1850——Code(组合数学)
- POJ 1496 + 1850 (数论-排列组合) (?)
- POJ 1496 Word Index (组合数学 求字符串对应编码)
- poj 1850 code(组合数学)
- POJ-1850-Code-组合数学
- POJ 1850 Code (组合数学)
- POJ 1850:Code 组合数学
- POJ 1850:Code 组合数学
- POJ - 1850 Code(组合数学推公式)
- POJ1850-组合数学
- poj 1850 Code 组合数学
- 【组合数学】POJ_1850_Code
- POJ-1850-Code-组合数学