T1 题目链接

代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>

long long n,L,R;
long long f[1000];

void print(long long x,long long l,long long r){
    if(x==0){
        printf("0");
        return;
    }
    if(x==1){
        printf("1");
        return;
    }
    if(l>=f[x-2]) print(x-1,l-f[x-2],r-f[x-2]);
    else if(r<f[x-2]) print(x-2,l,r);
    else print(x-2,l,f[x-2]-1),print(x-1,0,r-f[x-2]);
}

int main(){
    std::cin>>n>>L>>R;
    if(n==0) {printf("0\n");return 0;}
    if(n==1) {printf("1\n");return 0;}
    f[0]=1;f[1]=1;
    int i;
    for(i=2;i<=n;i++){
        f[i]=f[i-1]+f[i-2];
        if(f[i]>R) break;
    }
    if(L==0){
        if(n%2==0){
            if(R==0) {printf("0\n");return 0;}
            else printf("01");
        }else{
            if(R==0) {printf("1\n");return 0;}
            else printf("10");
        }
        L=2;
    }if(L==1){
        if(n%2==0) printf("1");
        else printf("0");
        L=2;
    }
    print(i,L,R);
    std::cout<<std::endl;
    return 0;
}
View Code

相关文章:

  • 2021-06-10
  • 2022-02-23
  • 2021-08-23
  • 2021-07-31
  • 2022-02-21
  • 2021-07-01
  • 2021-09-22
  • 2022-02-28
猜你喜欢
  • 2021-11-15
  • 2021-07-28
  • 2022-02-20
  • 2021-08-15
  • 2021-09-13
  • 2021-09-04
  • 2021-10-01
相关资源
相似解决方案