poj 1850/poj 1496】的更多相关文章

http://poj.org/problem?id=1850 -----------------http://poj.org/problem?id=1496 两题解法类似..本题为组合数学的题,要求所给字符串在排列中的位置.所用的方法为暴力枚举. 对于长度为1的字符串有a,b,c,d.......26个:长度为2的字符串有 a开头时有ab,ac,ad,ae,af.....(25,1) 25个 //()为组合数 b开头时有bc,bd,de,.....(24,1) 24个 c开头时有cd,ce,cf…
Code Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 8256 Accepted: 3906 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 t…
[POJ 1850] Code 还是非常想说 数位dp真的非常方便! !. 数位dp真的非常方便!.! 数位dp真的非常方便! !! 重要的事说三遍 该题转换规则跟进制差点儿相同 到z时进一位 如az下位为bc 上位必须比下位小 依据这个规则搜出全部情况就可以 #include <iostream> #include <cstdio> #include <cstring> using namespace std; int dp[11][27]; int digit[11…
http://poj.org/problem?id=1850 题意 :给定字符串,系统是用字符串组成的,字符串是按字典序排的.编码系统有三条规则,1这些的单词的长度是由小到大的,2相同长度的按字母在字典序的顺序排的,3 a-1,b-2,.....z-26,ab-27,..........,az-51,bc-52,............,vwxyz - 83681,..................输入的是长度不超过10的全为小写英语字母的字符串,让你输出对应的数字,如果并没有按照顺序,则输出…
题目:http://poj.org/problem?id=1850 题意:按给定的规则给字母编号. 一个很简单的题目,但是却做了好久.................................. #include<iostream> #include<cstdio> #include<cstring> using namespace std; ][]; void init()//用杨辉三角的方法求组合数,C(n,m) { int i,j; ; i<=; i+…
组合数学.... Code Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 7202 Accepted: 3361 Description Transmitting and memorizing information is a task that requires different coding systems for the best use of the available space. A well known sy…
大致题意:(与POJ1496基本一致) 输出某个str字符串在字典中的位置,由于字典是从a=1开始的,因此str的位置值就是 在str前面所有字符串的个数 +1 规定输入的字符串必须是升序排列.不降序列是非法字符串 不要求用循环输入去输入若干组字符串,但若输入非法字符串则输出0,且结束程序,这是和POJ1496最猥琐的区别,很多同学只注意到规定str的长度不同,以为把str数组长度改一下直接复制就能AC再多刷一题了,殊不知老是WA却找不到原因,大概就是这里出问题了 本题Str最长为10个字符 /…
题意: 1 如果是严格升序的字母字符串,那么可以输出非0解码,否则不能译码输出0 2 字符串解码 遵循递增原则,其值为 到现在为止的所有按字母序小于该字符串的数量 + 1; #include <iostream> using namespace std; char ans[11]; int a[10]; int c[27][27]; long long f[10]; void generc(){//生成组合数 for(int i=1;i<27;i++)c[i][0]=c[i][i]=1;…
#include <iostream> #include <string> using namespace std; int fac(int num); int C(int n,int m); int com( int n, int k ); int main() { //freopen("acm.acm","r",stdin); string s; int sum; int j; int i; // cout<<com(4,2)…
#include<iostream> #include<cstdio> #include<cstring> using namespace std; ][],l,ans; ]; void Get_f() { ;i<=;i++) f[i][]=; ;j<=;j++) ;i<=;i++) ;k<=;k++) f[i][j]+=f[k][j-]; } int main() { scanf(); l=strlen(s+);s[]=; ;i<=l;i…