poj 1850(组合数学)
来源:互联网 发布:印度药品 知乎 编辑:程序博客网 时间:2024/05/18 02:20
Code
Time Limit: 1000MS Memory Limit: 30000KTotal Submissions: 8050 Accepted: 3772
Description
Transmitting and memorizing information is a task that requires different coding systems for the best use of the available space. A well known system is that one where a number is associated to a character sequence. It is considered that the words are made only of small characters of the English alphabet a,b,c, ..., z (26 characters). From all these words we consider only those whose letters are in lexigraphical order (each character is smaller than the next character).
The coding system works like this:
• The words are arranged in the increasing order of their length.
• The words with the same length are arranged in lexicographical order (the order from the dictionary).
• We codify these words by their numbering, starting with a, as follows:
a - 1
b - 2
...
z - 26
ab - 27
...
az - 51
bc - 52
...
vwxyz - 83681
...
Specify for a given word if it can be codified according to this coding system. For the affirmative case specify its code.
The coding system works like this:
• The words are arranged in the increasing order of their length.
• The words with the same length are arranged in lexicographical order (the order from the dictionary).
• We codify these words by their numbering, starting with a, as follows:
a - 1
b - 2
...
z - 26
ab - 27
...
az - 51
bc - 52
...
vwxyz - 83681
...
Specify for a given word if it can be codified according to this coding system. For the affirmative case specify its code.
Input
The only line contains a word. There are some constraints:
• The word is maximum 10 letters length
• The English alphabet has 26 characters.
• The word is maximum 10 letters length
• The English alphabet has 26 characters.
Output
The output will contain the code of the given word, or 0 if the word can not be codified.
Sample Input
bf
Sample Output
55
Source
Romania OI 2002
参考详解(看了一定会懂得):http://hi.baidu.com/you289065406/blog/item/d0900ff85e4b0b71024f563a.html#0
AC代码:
#include<iostream>#include<cstring>#include<algorithm>using namespace std;int C[27][27];void init(){ for(int i=0;i<=26;i++) for(int j=0;j<=i;j++){ if(i==j || j==0) C[i][j]=1; else C[i][j]=C[i-1][j]+C[i-1][j-1]; }}int main(){ init(); char str[12]; while(cin>>str){ int i,j,k; int sucess=1; int len=strlen(str); long long sum=0; for(i=1;i<len;i++){ if(str[i-1] >= str[i]){ sucess=0; break; } } if(!sucess){ cout<<'0'<<endl; continue; } for(i=1;i<len;i++) sum+=C[26][i]; for(i=0;i<len;i++){ char ch; if(i==0) ch='a'; else ch=str[i-1]+1; while(ch<=str[i]-1){ sum+=C['z'-ch][len-1-i]; ch++; } } sum++; cout<<sum<<endl; } return 0;}
0 0
- poj 1850组合数学
- poj 1850(组合数学)
- Code POJ 1850 组合数学
- POJ 1850/ 1496 组合数学
- poj 1850 Code 组合数学
- poj 1850 Code (组合数学)
- POJ 1850-Code(组合数学)
- POJ 1850:Code 组合数学
- POJ 1850 Code(组合数学)
- POJ-1850-Code-组合数学
- POJ-1850-Code-组合数学
- [poj 1850] Code 组合数学
- POJ 1850 Code (组合数学)
- 组合数学 POJ 1850 Code
- POJ 1850 code(组合数学)
- POJ 1850 Code (组合数学)
- POJ 题目1850 Code(组合数学)
- POJ 1850 Code(组合数学)
- POJ 1159
- [Phonegap+Sencha Touch] 移动开发21 Sencha touch tapHold事件 触发时间太长的解决办法
- 百度面试题
- 2014/8/3 记
- PUE简介
- poj 1850(组合数学)
- [Phonegap+Sencha Touch] 移动开发22、安卓4.0.X的webview或自带浏览器中,去除输入框外面的蓝色边框
- 《GOF设计模式》—原型(Prototype)—Delphi源码示例:浅拷贝和深拷贝
- [Phonegap+Sencha Touch] 移动开发23 Android和IOS的webview点击穿透的缓解办法
- [Phonegap+Sencha Touch] 移动开发24 打包wp8.1的App,运行时输入框聚焦弹出软键盘之后,界面上移而不恢复原位的解决办法
- 如何避免length10000问题
- Linux 2.6 内核阅读笔记 信号
- 《GOF设计模式》—原型(Prototype)—Delphi源码示例:原型接口
- [Phonegap+Sencha Touch] 移动开发25 关于sencha touch在华为、红米、HTC等部分手机下hide事件失效,msgbox无法关闭的解决方案