POJ 1496

看见discuss 上说买一送一,果然是这样的。与POJ 1850相同--!

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string.h>
using namespace std;

int M[30][30];
char s[30];
int num[30];

void initial(){
	memset(M,0,sizeof(M));
	for(int i=0;i<=26;i++)
	M[i][0]=1;
	for(int i=1;i<=26;i++){
		for(int j=1;j<=i;j++){
			if(j==1){
				M[i][j]=i;
			}
			else {
				M[i][j]=M[i][j-1]*(i-j+1)/j;
			}
		}
	}
}

int main(){
	initial();
	while(scanf("%s",s)!=EOF){
		int len=strlen(s);
		for(int i=1;i<=len;i++)
		num[i]=s[i-1]-‘a‘+1;
		num[0]=0;
		bool flag=true;
		for(int i=1;i<=len;i++)
		if(num[i]<=num[i-1]){
			flag=false;
			break;
		}
		if(!flag){
			printf("0\n");
			continue;
		}
		int pos=0;
		for(int i=1;i<len;i++)
		pos+=M[26][i];
		for(int i=1;i<=len;i++){
			for(int k=num[i-1]+1;k<num[i];k++){
				pos+=(M[26-k][len-i]);
			}
		}
		printf("%d\n",pos+1);
	}
	return 0;
}

  

时间: 2024-11-04 22:46:30

POJ 1496的相关文章

POJ 1496 POJ 1850 组合计数

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/ 1496 组合数学

POJ 1850/ 1496 组合数学 题目地址: POJ 1496 Word Index POJ 1850 Code 题意: 1. 每个词是自增的 2. 同样长度的词是按字典序排练的 3. 我们把这些词标序 求某个词的序号 分析: 组合数学... 推出公式然后用杨辉三角打表出组合数,具体看http://blog.csdn.net/lyy289065406/article/details/6648492. 我还是太弱Orz... 代码: 1496: /* * Author: illuz <iil

寒假集训日志(五)——期中测验

10道题目,A了4道,5道会做,5道不会,果然渣渣... 这次测验感觉无限段错误..一个是初始化的问题,还一个建树的过程出错,但还不知道错在哪里.先附上几道没A的题, 以后慢慢解决. B - 拓扑 Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 510C Description Fox Ciel is going to p

POJ 3449 Geometric Shapes --计算几何,线段相交

题意: 给一些多边形或线段,输出与每一个多边形或线段的有哪一些多边形或线段. 解法: 想法不难,直接暴力将所有的图形处理成线段,然后暴力枚举,相交就加入其vector就行了.主要是代码有点麻烦,一步一步来吧. 还有收集了一个线段旋转的函数. Vector Rotate(Point P,Vector A,double rad){ //以P为基准点把向量A旋转rad return Vector(P.x+A.x*cos(rad)-A.y*sin(rad),P.y+A.x*sin(rad)+A.y*co

ACM训练方案-POJ题目分类

ACM训练方案-POJ题目分类 博客分类: 算法 ACM online Judge 中国: 浙江大学(ZJU):http://acm.zju.edu.cn/ 北京大学(PKU):http://acm.pku.edu.cn/JudgeOnline/ 杭州电子科技大学(HDU):http://acm.hdu.edu.cn/ 中国科技大学(USTC):http://acm.ustc.edu.cn/ 北京航天航空大学(BUAA)http://acm.buaa.edu.cn/oj/index.php 南京

转载:poj题目分类(侵删)

转载:from: POJ:http://blog.csdn.net/qq_28236309/article/details/47818407 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K–0.50K:中短代码:0.51K–1.00K:中等代码量:1.01K–2.00K:长代码:2.01K以上. 短:1147.1163.1922.2211.2215.2229.2232.2234.2242.2245.2262.2301.2309.2313.2334.2346.2348

poj题库分类

初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治法.     (4)递推.     (5)构造法.(poj3295)     (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:     (1)图的深度优先遍历和广度优先遍历.     (2)最短路径算法(dijkstra,bellman-ford,floyd,hea

POJ题目(转)

http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html 初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治法.     (4)递推.     (5)构造法.(poj3295)     (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:     (

Poj 题目分类

初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治法.     (4)递推.     (5)构造法.(poj3295)     (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:     (1)图的深度优先遍历和广度优先遍历.     (2)最短路径算法(dijkstra,bellman-ford,floyd,hea