欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

NYOJ 655 光棍的yy

发布时间:2025/3/16 编程问答 28 豆豆
生活随笔 收集整理的这篇文章主要介绍了 NYOJ 655 光棍的yy 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

光棍的yy

时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述

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
Fibonacci数列+大数问题!
AC码:
#include<stdio.h> #include<string.h> int num[3][50]; void Fibonacci(int len) {int i,k;memset(num,0,sizeof(num));num[0][49]=0;num[1][49]=1;for(i=1;i<=len;i++){for(k=49;k>=0;k--){num[2][k]+=num[1][k]+num[0][k];if(num[2][k]>9){num[2][k-1]+=1;num[2][k]%=10;}}for(k=49;k>=0;k--){num[0][k]=num[1][k];num[1][k]=num[2][k];num[2][k]=0;}} } int main() {int n,len,i,j;char str[205];scanf("%d",&n);while(n--){scanf("%s",str);len=strlen(str);Fibonacci(len);for(i=1;i<50;i++){if(num[1][i]!=0)break;}for(j=i;j<50;j++)printf("%d",num[1][j]);printf("\n");}return 0; }

总结

以上是生活随笔为你收集整理的NYOJ 655 光棍的yy的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。