zoukankan      html  css  js  c++  java
  • poj 1850 code(组合数学)

    题目:http://poj.org/problem?id=1850

    题意:按给定的规则给字母编号。

    一个很简单的题目,但是却做了好久。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 int c[30][30];
     6 void init()//用杨辉三角的方法求组合数,C(n,m)
     7 {
     8     int i,j;                 
     9     for(i=0; i<=26; i++)
    10     c[i][0]=c[i][i]=1;
    11     for(i=1; i<=26; i++) //这里记杨辉三角的第一行第一个为C(0,0)
    12     for(j=1; j<i; j++)
    13     c[i][j]=c[i-1][j-1]+c[i-1][j];
    14 }
    15 int main()
    16 {
    17     int f=0,k,i,j,sum=0,x;
    18     char s[20];
    19     init();
    20     cin>>s;
    21 
    22     k=strlen(s);
    23     for(i=0; i<k-1; i++)
    24     if(s[i]>s[i+1])
    25     {
    26         f=1; break;
    27     }
    28     if(f==0)
    29     {
    30         for(i=1; i<=k-1; i++)
    31         sum+=c[26][i]; //小于位数的所有个数
    32         for(i=0; i<k; i++)
    33         {
    34             if(i==0) x='a';
    35             else x=s[i-1]+1;
    36             for(j=x; j<s[i]; j++)//核心代码,只可意会不可言传了、、、、
    37             sum+=c['z'-j][k-i-1];
    38         }
    39         cout<<sum+1<<endl;//加本身
    40     }
    41     else
    42     cout<<"0"<<endl;
    43     return 0;
    44 }
  • 相关阅读:
    最近工作
    有点感受
    日子有点快
    IDEA配置spring
    IDEA配置hibernate
    mysql插入中文乱码
    深夜配置一把struts2
    IDEA 配置SSH2
    找工作的事情
    YTU 2509: 奇怪的分式
  • 原文地址:https://www.cnblogs.com/bfshm/p/3376673.html
Copyright © 2011-2022 走看看