nyoj 光棍的yy
655-光棍的yy
内存限制:64MB 时间限制:1000ms Special Judge: No
accepted:2 submit:3
题目描述:
yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见11:11,这个很纠结啊。
现在给你m个1,你可以把2个1组合成一个2,这样就不是光棍了,问这样的组合有多少种??
例如(111 可以拆分为 111 12 21 有三种)
输入描述:
输出描述:
样例输入:
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的更多相关文章
- ny655 光棍的yy 大数处理
光棍的yy 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见11:11,这个很纠结啊. 现在给你m个1,你可以把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, ...
- nyoj-655-光棍的yy(大数)
光棍的yy 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描写叙述 yy常常遇见一个奇怪的事情.每当他看时间的时候总会看见11:11,这个非常纠结啊. 如今给你m个1,你能够 ...
- nyoj_655_光棍的yy_201311281539
光棍的yy 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见11:11,这个很纠结啊. 现在给 ...
- akoj-1048-求某一整数序列的全排列问题
求某一整数序列的全排列问题 Time Limit:1000MS Memory Limit:65536K Total Submit:35 Accepted:16 Description 现有一整数序列 ...
- 1254 Problem V
问题 V: 光棍的yy 时间限制: 1 Sec 内存限制: 128 MB 提交: 42 解决: 22 [提交][状态][讨论版] 题目描述 yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见1 ...
- [原]NYOJ-光棍的yy-655
大学生程序代写 http://acm.nyist.net/JudgeOnline/problem.php?pid=655 光棍的yy 时间限制:1000 ms | 内存限制:65535 KB 难度 ...
- nyoj 655-光棍的yy (python, 未A)
655-光棍的yy 内存限制:64MB 时间限制:1000ms 特判: No 通过数:4 提交数:7 难度:2 题目描述: yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见11:11,这个很纠结 ...
- nyoj 458-小光棍数 (471)
458-小光棍数 内存限制:64MB 时间限制:1000ms 特判: No 通过数:6 提交数:6 难度:1 题目描述: 最近Topcoder的XD遇到了一个难题,倘若一个数的三次方的后三位是111, ...
随机推荐
- unity3d 博客
博客: 1.http://my.csdn.net/caoboya 2.http://my.csdn.net/OnafioO
- iOS UI-微博案例(通过代码自定义Cell)
一.Model BWWeiBo数据模型 #import <Foundation/Foundation.h> @interface BWWeiBo : NSObject @property ...
- C++技能重拾2
13.类成员函数重载:局部同名函数将隐藏而不是重载全局声明,不引入父类名字空间时子类的同名函数不会和父类的构成重载,静态成员函数可以和非静态成员函数构成重载.本质是重载函数的定义是在相同的声明域里!! ...
- Qt经典—线程、事件与Qobject
介绍 You’re doing it wrong. — Bradley T. Hughes 线程是qt channel里最流行的讨论话题之一.许多人加入了讨论并询问如何解决他们在运行跨线程编程时所遇到 ...
- css div居中
div中没有text-align和vehicle-align这两个属性,所在在css中设置这两个值没有作用 div 水平居中 设置左右边距有auto div{ margin: 0 auto; } 垂直 ...
- learning uboot how to set ddr parameter in qca4531 cpu
DDR工作频率 在600MHZ. include/configs/board953x.h #define CFG_PLL_FREQ CFG_PLL_650_600_200 #d ...
- bootstrap的学习总结
1.bootstrap是一个css框架,它提供了很多类,这些类中实现了内外边距,颜色,大小等样式的封装,它还提供了很多常用插件可以直接使用 2.12栅格本质上是将标签的外边距和内边距通过“格子”的思想 ...
- spring学习笔记Core Technologies
Spring 框架最重要的是Ioc(Inversion of Control)容器,在这个基础之上衍生出了AOP(Aspect-Oriented Programming)技术,80/20法则,这货可以 ...
- C++ primer 第四版 练习3.13,3.14
读一组整数到 vector 对象,计算并输出每对相邻元素的 和.如果读入元素个数为奇数,则提示用户后一个元素 没有求和,并输出其值. vector<int> ivec; int ival; ...
- 给tabBarItem加点击效果动画
获取到tabBarItem,添加喜欢的动画 .h文件 @interface JGTabBarController () //记录上一次点击tabbar @property (nonatomic, as ...