zoukankan      html  css  js  c++  java
  • Coffee Chicken

    Coffee Chicken

    字符串斐波那契

    输出第s[n]个字符串的第k位及后十位

    暴力算出前20项,超过20,跑dfs

    #include<bits/stdc++.h>
     
    using namespace std;
    string s[1000];
    typedef long long ll;
    ll n,k;
    ll A[500];
    string _s[100];
    void dfs(ll k,int x,int len)///k开始位置,x这一段是由哪个字符串拼接成的,k后取len位
    {
        if(x<=20)
        {
            for(int i=k-1; i<min(A[x],k+len-1); i++)
            {
                cout<<s[x][i];
            }
            return;
        }
        if(k>A[x-2])
        {
            k-=A[x-2];
            dfs(k,x-1,len);
        }
        else if(k+len<A[x-2])
        {
            dfs(k,x-2,len);
        }
        else
        {
            dfs(k,x-2,A[x-2]-k+1);
            dfs(A[x-2]+1,x-1,len-A[x-2]+k-1);
     
        }
    }
    int main()
    {
        s[1]="COFFEE";
        s[2]="CHICKEN";
     
        A[1]=s[1].length();
        A[2]=s[2].length();
        for(int i=3; i<=20; i++)
        {
            s[i]=s[i-2]+s[i-1];
            A[i]=A[i-2]+A[i-1];
        }
        int t;
        scanf("%d",&t);
     
        for(int i=21; i<=57; i++)
        {
            A[i]=A[i-1]+A[i-2];
        }
        while(t--)
        {
            scanf("%lld%lld",&n,&k);
     
            if(n<=20)
            {
                for(int i=k-1; i<min(k+9,A[n]); i++)
                {
                    cout<<s[n][i];
                }
                cout<<'
    ';
            }
           else  if(n<=57)
            {
                dfs(k,n,10);
                cout<<'
    ';
            }
            else if(n>57)
            {
                if((n&1))
                {
                    dfs(k,57,10);
                    cout<<'
    ';
                }
                else
                {
                    dfs(k,56,10);
                    cout<<'
    ';
                }
     
            }
        }
     
    }
  • 相关阅读:
    进程二
    高德地图api的使用
    《架构即未来》读后感3
    三周总结
    性能战术:
    二周总结
    《 架构即未来》读后感2
    一周总结
    《架构即未来》读后感
    学生信息系统dao层
  • 原文地址:https://www.cnblogs.com/liulex/p/11370312.html
Copyright © 2011-2022 走看看