⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zp1937.cpp

📁 一个acm题目系统会自动删除debug和release目录
💻 CPP
字号:
#include <stdio.h>
#include <memory.h>

struct typ
{
  int num,suf,dip;
}que[55000];

int main(int argc, char* argv[])
{
  int t,s,pf,sf,ps[110];
  s=1;
  pf=0;
  sf=1;
  que[0].suf=-1;
  que[0].num=1;
  que[0].dip=1;

  memset(ps,0,sizeof(ps));

  while (1)
  {
    t=pf;
    while (t>=0)
    {
      que[sf].suf=pf;
      que[sf].num=que[t].num+que[pf].num;
      que[sf].dip=que[pf].dip+1;
      if (que[sf].num<=100 && ps[que[sf].num]==0)
      {
        s++;
        //printf("%d %d %d\n",s,que[sf].num,sf);
        ps[que[sf].num]=sf;
        if (s==100)
          break;
      }
      sf++;
      t=que[t].suf;
    }
    if (s==100)
      break;
    pf++;
  }
  //printf("%d\n",sf);

  int i,a[110][12];

  for (i=1;i<=100;i++)
  {
    t=ps[i];
    //printf("%d ",i);
    s=0;
    while (t>=0)
    {
      a[i][++s]=que[t].num;
      //printf("%d ",que[t].num);
      t=que[t].suf;
    }
    a[i][0]=s;
    //printf("\n");
  }
  while (scanf("%d",&s) && s)
  {
    printf("1");
    for (i=a[s][0]-1;i>0;i--)
      printf(" %d",a[s][i]);
    printf("\n");
  }
  return 0;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -