zoukankan      html  css  js  c++  java
  • poj 1850code解题报告

    利用组合数学的一道题,对于一个序列先找长度比这个序列短的序列个数,再找长度相同的序列的个数

    View Code
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 int c[30][30];
     6 char s[15];
     7 int main()
     8 {
     9     int i,len,j,code;
    10     c[0][0]=1;
    11     for(i=1;i<=26;i++)
    12     for(j=0;j<=i;j++)
    13     c[i][j]=j?c[i-1][j-1]+c[i-1][j]:1;
    14     scanf("%s",s);
    15     len=strlen(s);
    16     for(i=0;i<len-1;i++)//注意这里要直接结束
    17     {
    18         if(s[i]>=s[i+1])
    19         {
    20             printf("0\n");
    21             return 0;
    22         }
    23     }
    24     code=1;
    25     for(i=1;i<len;i++)
    26     code+=c[26][i];
    27     for(i=0;i<len;i++)
    28     {
    29         char t=i?s[i-1]+1:'a';
    30         for(;t<=s[i]-1;t++)
    31         code+=c['z'-t][len-1-i];
    32     }
    33     printf("%d\n",code);
    34     return 0;
    35 }
  • 相关阅读:
    IndexDB
    实现es6中的set和map
    视口viewport
    nginx入门
    http协议
    图像格式
    promise
    js中this指向
    CSS 7阶层叠水平
    C# 一个方法如何返回多个值
  • 原文地址:https://www.cnblogs.com/caozhenhai/p/2524938.html
Copyright © 2011-2022 走看看