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. Educational Codeforces Round 47 (Rated for Div. 2)F. Dominant Indices 线段树合并

    题意:有一棵树,对于每个点求子树中离他深度最多的深度是多少, 题解:线段树合并快如闪电,每个节点开一个权值线段树,递归时合并即可,然后维护区间最多的是哪个权值,到x的深度就是到根的深度减去x到根的深度 ...

  2. python-day6---流程控制

    # if 条件:# 子代码1# 子代码2# 子代码3 # if True:# print('ok')# print('=====?>')# print('=====?>')# print( ...

  3. thinkphp3.2 输入框默认值

    1,我们在做项目的时候输入框有的时候要提示用户输入什么,当用户输入值的时候也不用客户删除,用户只管输入.这里我们就用一个很简单的就OK了. <input type="text" ...

  4. HDU-4856 Tunnels (BFS+状压DP)

    Problem Description Bob is travelling in Xi’an. He finds many secret tunnels beneath the city. In hi ...

  5. 怎么使用response.write来做一个javascript的alert弹出窗口

    Page.RegisterStartupScript("alert", "<script language=javascript>alert('添加成功'); ...

  6. 决策树ID3算法实现

    决策树的ID3算法基于信息增益来选择最优特征,于是自己实现了一把,直接上代码. """ CreateTime : 2019/3/3 22:19 Author : X Fi ...

  7. SQL优化(SQL TUNING)可大幅提升性能的实战技巧之一——让计划沿着索引跑

    我们进行SQL优化时,经常会碰到对大量数据集进行排序,然后从排序后的集合取前部分结果的需求,这种情况下,当我们按照常规思路去写SQL时,系统会先读取过滤获得所有集合,然后进行排序,再从排序结果取出极少 ...

  8. bat批处理文件运行时隐藏cmd窗口

    想让bat运行时隐藏cmd窗口,最好的方法是使用vbs文件实现, 1.新建一个文本文档,改名为123.vbs,编辑内容: set ws=WScript.CreateObject("WScri ...

  9. 数据仓库建模与ETL的实践

    一.Data仓库的架构 Data仓库(Data Warehouse DW)是为了便于多维分析和多角度展现而将Data按特定的模式进行存储所建立起来的关系型Datcbase,它的Data基于OLTP源S ...

  10. vue react自动更新修改的代码

    利用node 引入 nodemon,我们项目修改了代码,就不用需要在重新启动 步骤 npm install --save-dev nodemon 执行 nodemon server.js      / ...