sicily_1029 Rabbit

标签: sicily 高精度计算

题目链接: http://soj.sysu.edu.cn/1029

思路

高精度加法来递推结果,数组足够长就可以了。

代码

// Problem#: 1029
#include<stdio.h>
#include<string.h>
int main() {
  int i, m, d;
  long long all0[100 + 1], all1[100 + 1];
  while (scanf("%d %d", &m, &d) && m) {
    memset(all0, 0, sizeof(all0));
    memset(all1, 0, sizeof(all1));
    for (i = 1, all0[0] = 1; i <= d; i++) {
      if (i + 1 - m > 0) {
        all1[i] = all1[i - 1] + all1[i - m]
          + (all0[i - 1] + all0[i - m]) / 10000000000000000;
        all0[i] = (all0[i - 1] + all0[i - m]) % 10000000000000000;
      } else {
        all0[i] = all0[i - 1] + 1;
      }
    }
    if (all1[d]) printf("%lld%016lld\n", all1[d], all0[d]);
    else printf("%lld\n", all0[d]);
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,930评论 25 708
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • 相信每一位玩ACM程序设计竞赛的同学来说,都有一个从入门到精通的过程,而且分享他们经验的时候,见到最多的就是一种合...
    FinlayLiu阅读 5,444评论 6 182
  • 一句简单的早安 把冬夜照亮 睡眼惺忪的清晨 你不在身旁 舍不得被子里的温暖 像舍不得你远赴他乡 舍不得被子里的温暖...
    空与窗阅读 218评论 0 0
  • 风拂苍绿转明黄 落叶翻飞为相思 日暮西斜朝夕鸟 春荣秋实现鸿鹄
    玄女涅槃y杨门第九代阅读 311评论 0 0