655-光棍的yy

内存限制:64MB 时间限制:1000ms Special Judge: No
accepted:2 submit:3

题目描述:

yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见11:11,这个很纠结啊

现在给你m个1,你可以把2个1组合成一个2,这样就不是光棍了,问这样的组合有多少种??

例如(111  可以拆分为 111 12 21  有三种)

输入描述:

第一行输入一个n表示有n个测试数据 以下n行,每行输入m个1 (1 <= n,m <= 200)

输出描述:

输出这种组合种数,占一行

样例输入:

复制

3
11
111
11111

样例输出:

2
3
8

#include <iostream>
#include <cstring>
using namespace std;
//实际上就是斐波那契数,只不过数字较大的时候基本的数据类型不能存下
//用二维数组来存放大数据,num[i][j]代表第i个数共有j位,如第10个数为123456789
//则:num[10][0]=9,num[10][1]=8,num[10][2]=7,num[10][3]=6,num[10][4]=5,num[10][5]=4,
//num[10][6]=3...以此类推,因为数据过大存放不下,只有把数据的每位分开来存.

//声明全局数据
int num[205][205];
//计算每个斐波那契数对应的数值
void fib_Cacul()
{
memset(num,0,sizeof(num));
num[1][0]=1;//只有一个1时,有一种情况
num[2][0]=2;//........2......两......
int digit=1;//当前数字的位数,第三个数(i==3)时肯定是1位,在整个计算过程中只能初始化一次

for(int i=3;i<201;++i)//第几个数
{
int temp,rem;//rem代表余数,每次计算余数初始化为0
rem=0;
for(int j=0;j<digit;++j)
{
temp=num[i-1][j]+num[i-2][j]+rem;
num[i][j]=temp%10;
rem=temp/10;
}
while(rem)//如果j>digit且rem余数不为0,就代表向高位有进位,
{
num[i][digit]=rem%10;//可能进位的数字较大不止一次进位,尝试多次处理
rem/=10;
digit++;
}
}
}

int main()
{
int n;
cin>>n;
fib_Cacul();
while(n--)
{
string s;//用字符串来存储要输入的数字
cin>>s;
int i;
for(i=100;i>=0;--i)//i代表最后结果的数字的位数
if(num[s.length()][i]!=0)//忽略前导0,输入的多少个1就代表要计算的数是第几个数
break;
for(int j=i;j>=0;--j)
cout<<num[s.length()][j];//存放时高位数据在后,所以逆序输出

cout<<endl;
}
return 0;
}

nyoj 光棍的yy的更多相关文章

  1. ny655 光棍的yy 大数处理

    光棍的yy 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见11:11,这个很纠结啊. 现在给你m个1,你可以把2个 ...

  2. NYOJ-655 光棍的YY AC 分类: NYOJ 2013-12-29 19:24 224人阅读 评论(0) 收藏

    #include<stdio.h> #include<string.h> char str[210]; int max[210][52]={0}; int sum(int n, ...

  3. nyoj-655-光棍的yy(大数)

    光棍的yy 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描写叙述 yy常常遇见一个奇怪的事情.每当他看时间的时候总会看见11:11,这个非常纠结啊. 如今给你m个1,你能够 ...

  4. nyoj_655_光棍的yy_201311281539

    光棍的yy 时间限制:1000 ms  |           内存限制:65535 KB 难度:2   描述 yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见11:11,这个很纠结啊. 现在给 ...

  5. akoj-1048-求某一整数序列的全排列问题

    求某一整数序列的全排列问题 Time Limit:1000MS  Memory Limit:65536K Total Submit:35 Accepted:16 Description 现有一整数序列 ...

  6. 1254 Problem V

    问题 V: 光棍的yy 时间限制: 1 Sec  内存限制: 128 MB 提交: 42  解决: 22 [提交][状态][讨论版] 题目描述 yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见1 ...

  7. [原]NYOJ-光棍的yy-655

    大学生程序代写 http://acm.nyist.net/JudgeOnline/problem.php?pid=655 光棍的yy 时间限制:1000 ms  |  内存限制:65535 KB 难度 ...

  8. nyoj 655-光棍的yy (python, 未A)

    655-光棍的yy 内存限制:64MB 时间限制:1000ms 特判: No 通过数:4 提交数:7 难度:2 题目描述: yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见11:11,这个很纠结 ...

  9. nyoj 458-小光棍数 (471)

    458-小光棍数 内存限制:64MB 时间限制:1000ms 特判: No 通过数:6 提交数:6 难度:1 题目描述: 最近Topcoder的XD遇到了一个难题,倘若一个数的三次方的后三位是111, ...

随机推荐

  1. linux中whereis、which、find、location的区别和用法

    摘自:https://www.cnblogs.com/kex1n/p/5233821.html 1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式 ...

  2. juqery的一些简单用法

    层级选择器(重点).基本过滤选择器 :eq(index) 选择匹配到的元素中索引号为index的一个元素,index从0开始 :odd 选择匹配到的元素中索引号为奇数的所有元素,index从0开始 : ...

  3. 如何用SPY++工具查看窗体的句柄

    我安装的是vs2012,先找到SPY++工具打开 打开方式: 方式1:通过路径(C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microso ...

  4. learning shell args handing key=value example (2)

    Shell args handing key=value example [Purpose]        Learning how to handing ker=value args   [Eevi ...

  5. html和css命名标准以及常用的框架,我使用的是网易nec

    前端的工作很细,涉及的东西也很多,静态页面和js开发,调接口之类,有时还要自己设计.现在css管理使用less和sass,新东西起码要支持下,具体用与不用看公司的业务需求.前端人员之间的配合也很重要要 ...

  6. 深入理解java异常【绝对经典,推荐最少看五遍】

    http://blog.csdn.net/hguisu/article/details/6155636 补充:检查异常(checkedException)与运行异常,什么时候throw,什么时候thr ...

  7. C#实现生产消费者模式

    void test() { int count = 0; // 临界资源区 var queue = new BlockingCollection<string>(); // 生产者线程 T ...

  8. Java——线程间通信

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  9. L235

    China will launch the Chang'e-5 probe by the end of this year to bring moon samples back to Earth, a ...

  10. 给hackrf加上1602LCD以及UART(附带固件编译方法)

    代码库(在hackrf原代码库基础上只添了两个文件,改了一个文件): https://github.com/JiaoXianjun/hackrf-UART-1602LCD 目的主要是为了帮助想更改调试 ...