zoukankan      html  css  js  c++  java
  • 1sting

            You will be given a string which only contains ‘1’; You can merge two adjacent ‘1’ to be ‘2’, or leave the ‘1’ there. Surly, you may get many different results. For example, given 1111 , you can get 1111, 121, 112,211,22. Now, your work is to find the total number of result you can get.
    InputThe first line is a number n refers to the number of test cases. Then n lines follows, each line has a string made up of ‘1’ . The maximum length of the sequence is 200.
          OutputThe output contain n lines, each line output the number of result you can get .
    Sample Input

    3
    1
    11
    11111

    Sample Output

    1
    2
    8
    自己找规律可得为Fibonacci数列,但递归到已为大位数运算,long long __int64皆不可以,最好的办法为开数组
    #include<iostream>
    #include<cstring>
    #include<cstdio>
    using namespace std;
    const int maxn=1005;
    int a[205][maxn];
    int main()
    {
      int n,i,j,count,T;
      for(i=0;i<=202;i++)
      {
        for(j=0;j<=1002;j++)
        {
          a[i][j]=0;
        }
      }
      a[1][0]=1;
      a[2][0]=2;
      for(i=3;i<=201;i++)
      {
        for(j=0;j<=1002;j++)
        {
          a[i][j]=a[i][j]+a[i-1][j]+a[i-2][j];
          if(a[i][j]>=10)
          {
            a[i][j]=a[i][j]-10;
            a[i][j+1]=a[i][j+1]+1;
          }
        }
      }
      cin>>T;
      while(T--)
      {
        char b[210];
        cin>>b;
        n=strlen(b);
        for(i=1002;i>=0;i--)
        {
          if(a[n][i]!=0)
          {
            count=i;
            break;
          }
        }
        for(i=count;i>=0;i--)
        {
          cout<<a[n][i];
        }
        cout<<endl;
      }
      return 0;
    }
  • 相关阅读:
    链表
    链式学习法:提升技术深度
    数组
    写点什么
    7 天掌握算法面试必考知识点: 作业安排及如何提交
    创建Mac OS root账户
    正则表达式匹配及替换
    Xcode 10 之New Build System & Legacy Build System 旧版构建系统
    性能指标:TPS、QPS、RT、吞吐量
    Objective-C和Swift语言特性
  • 原文地址:https://www.cnblogs.com/shinianhuanniyijuhaojiubujian/p/6576319.html
Copyright © 2011-2022 走看看