zoukankan      html  css  js  c++  java
  • 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
    ");
    			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
    ",pos+1);
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    富文本
    管理员状态
    分页
    tp。3.2中的模板基础
    get和post之间的区别
    RegExp
    获取各种类型的节点
    节点的层次关系
    创建元素节点
    JavaScript 正则
  • 原文地址:https://www.cnblogs.com/jie-dcai/p/3993588.html
Copyright © 2011-2022 走看看