这道题目的意思是:一开始有一个数字 1 ,在接下来的时间中,计算机会按照如下规则进行扩展:

               0 –> 1 0

               1 –> 0 1

求n秒之后,有多少对相邻的0。 例如1 0 0 1有 1 对相邻的0.

 

这道题目是一道规律题,可以直接例举前面的数据得到规律:

0 0 1 1 3 5 11 21 43 85

通过例举的数据可以很明显的看出,从第 1s 开始,如果是偶数秒,那么b[ i ] = b[ i – 1 ] * 2 – 1,而奇数秒则是b[ i ] = b[ i – 1 ] * 2 + 1。于是可以预处理打表得出0 ~ 1000的结果。

需要注意的是,这道题需要用到高精度,因为最大的值约为 2 ^ 1000,这个数非常大。

附AC代码:

   1: #include <iostream>

   2: #include <string>

   3: #include <algorithm>

   4: using namespace std;

   5:  

   6: int s[1005][505];

   7: int num, temp = 0;

   8:  

   9: int main()

  10: {

  11:     s[0][1] = 0;

  12:     s[1][1] = 0;

  13:     s[2][1] = 1;

  14:     s[3][1] = 1;

  15:     for(int i = 4; i <= 1000; ++i)

  16:     {

  17:         for(int j = 1; j <= 500; ++j)

  18:         {

  19:             s[i][j] = s[i - 1][j] + 2 * s[i - 2][j] + temp;

  20:             temp = s[i][j] / 10;

  21:             s[i][j] %= 10;

  22:         }

  23:     }

  24:     while(~scanf("%d", &num))

  25:     {

  26:         if(num == 1) 

  27:             puts("0");

  28:         else

  29:         {

  30:             int i;

  31:             for(i = 500; i > 0; --i)

  32:                 if(s[num][i] != 0)

  33:                     break;

  34:             for(int j = i; j >= 1; --j)

  35:                    printf("%d", s[num][j]);

  36:             puts("");

  37:         }

  38:     }

  39:     return 0;

  40: }

HDU 1041 Computer Transformation的更多相关文章

  1. HDU 1041 Computer Transformation (简单大数)

    Computer Transformation http://acm.hdu.edu.cn/showproblem.php?pid=1041 Problem Description A sequenc ...

  2. HDU 1041 Computer Transformation(找规律加大数乘)

    主要还是找规律,然后大数相乘 #include<stdio.h> #include<string.h> #include<math.h> #include<t ...

  3. HDU 1041 Computer Transformation 数学DP题解

    本题假设编程是使用DP思想直接打表就能够了. 假设是找规律就须要数学思维了. 规律就是看这些连续的0是从哪里来的. 我找到的规律是:1经过两次裂变之后就会产生一个00: 00经过两次裂变之后也会产生新 ...

  4. Computer Transformation(规律,大数打表)

    Computer Transformation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/ ...

  5. hdu 3695 Computer Virus on Planet Pandora(AC自己主动机)

    题目连接:hdu 3695 Computer Virus on Planet Pandora 题目大意:给定一些病毒串,要求推断说给定串中包括几个病毒串,包括反转. 解题思路:将给定的字符串展开,然后 ...

  6. hdu_1041(Computer Transformation) 大数加法模板+找规律

    Computer Transformation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/ ...

  7. (大数)Computer Transformation hdu1041

    Computer Transformation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/ ...

  8. hdu 1041(递推,大数)

    Computer Transformation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/ ...

  9. Computer Transformation(简单数学题+大数)

    H - Computer Transformation Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d &am ...

随机推荐

  1. 剑指offer--面试题15

    题目:打印单向链表中倒数第k个节点 以下为自己所写代码,未经过验证,只是写个思路... #include<iostream> #include<vector> #include ...

  2. [CFgym]2015-2016 ACM-ICPC Pacific Northwest Regional Contest小结

    *感谢两位浙江大佬带我飞 贴下成绩 div2 div1 *div2不是我打的上个厕所就5/11了 比赛小结 A [题目大意] 有n(n<=500)个机场,两两之间距离是g[i][j],每经停一个 ...

  3. 【技术贴】解决bug mantisbt APPLICATION ERROR #1502 没有找到类别

    解决bug mantisAPPLICATION ERROR #1502 没有找到类别 mantisbt出现1502问题解决:引起问题的原因:当提交的问题有分类,此时删除此分类,就会出现下面的情况.问题 ...

  4. Java Socket 基础例子

    1.服务器端代码 package com.lanber.socket; import java.io.DataInputStream; import java.io.DataOutputStream; ...

  5. 求和问题总结(leetcode 2Sum, 3Sum, 4Sum, K Sum)

    转自  http://tech-wonderland.net/blog/summary-of-ksum-problems.html 前言: 做过leetcode的人都知道, 里面有2sum, 3sum ...

  6. HDU2594 Simpsons’ Hidden Talents 字符串哈希

    最近在学习字符串的知识,在字符串上我跟大一的时候是没什么区别的,所以恶补了很多基础的算法,今天补了一下字符串哈希,看的是大一新生的课件学的,以前觉得字符串哈希无非就是跟普通的哈希没什么区别,倒也没觉得 ...

  7. IOS 视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途

    iOS视图控制对象生命周期-init.viewDidLoad.viewWillAppear.viewDidAppear.viewWillDisappear.viewDidDisappear的区别及用途 ...

  8. hdu1162Eddy's picture

    http://acm.hdu.edu.cn/showproblem.php?pid=1162 最小生成树 #include<iostream> #include<stdio.h> ...

  9. lintcode:二叉树的中序遍历

    题目: 二叉树的中序遍历 给出一棵二叉树,返回其中序遍历 样例 给出二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,3,2]. 挑战 你能使用非递归算法来实现么? 解题: 程序直接来源 ...

  10. 教育行业SaaS选型 需要注意的三点问题

    2008年经济危机席卷全球,造成世界范围内的金融动荡,国内各行业虽然都面临了不小的冲击,但是在危机面前,中国的教育行业却逆势而上,硕果累累.据统计,2008年教育行业的投资案例达18起,投资金额18. ...