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, ...
随机推荐
- 『Networkx』常用方法
这是一个用于分析'图'结构的包,由于我只是用到了浅显的可视化功能,所以这个介绍会对其使用浅尝辄止. 解决matplotlib中文字体缺失问题, from pylab import mpl mpl.rc ...
- ubuntu谷歌浏览器安装
sudo apt-get install chromium-browser-dbg 然后按照规定就好了.
- TCP客户端与服务器的实现
为了更容易理解,我们举一个小例子来说明服务器与客户端之间的连接过程. 有一个饭店,饭店里有服务员,服务员用于招待客人 特别要注意的是:要记住相关函数的各个参数都是什么,什么时候返回SOCKET_ERR ...
- java并发编程:线程安全管理类--原子操作类--AtomicReferenceArray<E>
1.类 AtomicReferenceArray<E> public class AtomicReferenceArray<E>extends Objectimplements ...
- MySQL Server类型之MySQL客户端工具的下载、安装和使用(博主推荐)
本博文的主要内容有 .MySQL Server 5.5系列的下载 .MySQL Server 5.5系列的安装 .MySQL Server 5.5系列的使用 .MySQL Server 5.5系列的卸 ...
- jdk1.6中bin目录下的工具及其作用
jdk的javaw.javac等的介绍java:在msdos终端窗口中执行.class文件,即解释执行.class文件.通常所说的jvm解释权.javaw:在java自己的窗口中执行.class文件而 ...
- Python 字典的遍历
dic = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟" ...
- A+B for Input-Output Practice (IV)
A+B for Input-Output Practice (IV) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- linux用户添加到多个组
usermod -G groupname username (这种会把用户从其他组中去掉,只属于该组)如:usermod -G git git (git只属于git组) usermod -a -G g ...
- 【计算机视觉】人脸检测模型的评估方法-linux
前言 人脸检测标准库FDDB详细介绍了数据库和使用方法.对于训练的模型,如何评估模型的效果呢,本文对此进行介绍.说实话,参考了很多博客,但是感觉都不是很明白(当然本文也会有瑕疵),故在此记录! 测试环 ...