C小加

厚德 博学 求真 至善 The bright moon and breeze
posts - 145, comments - 195, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
简单DP
#include <iostream>
using namespace std;
const int MAXN=46;
int f[MAXN];
int main()
{
    
int n,k;
    cin
>>n>>k;
    f[
0]=1;
    f[
1]=2;
    f[
2]=3;
    
for(int i=3;i<=n;i++)
    f[i]
=f[i-2]+f[i-1];
    
if(k>f[n]) cout<<"-1"<<endl;
    
else
    {
        
int q=n-1;
        
while(q>=0)
        {
            
if(k<=f[q]) cout<<0;
            
else
            {
               cout
<<1;
               k
-=f[q];
            }
            q
--;
        }
    }

    
return 0;
}

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理