HDU 5686:2016"百度之星" - 资格赛 Problem B
原文链接:https://www.dreamwings.cn/hdu5686/2645.html
Problem B
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 403 Accepted Submission(s): 136
1 3 5
1 3 8Hint如果序列是:(111)。可以构造出如下三个新序列:(111), (21), (12)。
AC代码:
#include "stdio.h"
#include "stdlib.h"
#define N 22 //22位能表示第100个以内的斐波那契数列值
//大数加法函数
char * Add(char * x1, char * x2)
{
char * y = (char *) malloc(sizeof(char *) * N);
int i = 0;
int t = 0; //表示进位
//实现大数加法,数组前面存的是数值的高位。如123在数组中是{'3','2','1','\0'}
//处理相同长度的部分
while(x1[i] != '\0' && x2[i] != '\0')
{
y[i] = (x1[i] - '0' + x2[i] - '0' + t) % 10 + '0';
t = (x1[i] - '0' + x2[i] - '0' + t) / 10;
i++;
}
//如果x1比x2长
while(x1[i] != '\0')
{
y[i] = (x1[i] - '0' + t) % 10 + '0';
t = (x1[i] - '0' + t) / 10;
i++;
}
//如果x2比x1长
while(x2[i] != '\0')
{
y[i] = (x2[i] - '0' + t) % 10 + '0';
t = (x2[i] - '0' + t) / 10;
i++;
}
//如果还有进位
if (t == 1)y[i++] = '1';
y[i] = '\0';
return y;
}
//输出
void Output(char * y)
{
//先找到\0的位置,然后逆序输出
int i = 0;
while(y[i] != '\0')i++;
i--;
while(i >= 0)
printf("%d", y[i--] - '0');
}
int main()
{
int b;
while(~scanf("%d", &b))
{
if(b)
{
getchar();
int count = b;
int i;
char * x1 = (char *)malloc(sizeof(char) * N);
char * x2 = (char *)malloc(sizeof(char) * N);
char * y = (char *)malloc(sizeof(char) * N);
//初始化y, x1, x2
for (i = 0; i < N; i++)
{
x1[i] = '\0';
x2[i] = '\0';
y[i] = '\0';
}
//给x1和x2赋初值
x1[0] = '0';
x1[1] = '\0';
x2[0] = '1';
x2[1] = '\0';
//斐波那契数列,叠加
for(i = 1; i <= count; i++)
{
y = Add(x1, x2);
x1 = x2;
x2 = y;
}
//输出结果
Output(y);
printf("\n");
}
else printf("\n");
}
return 0;
}
import java.util.Scanner;
import java.math.BigInteger;
public class Main {
public static BigInteger[]dp=new BigInteger[205];
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin=new Scanner(System.in);
//int n=cin.nextInt();
Init();
while(cin.hasNext())
{
int n=cin.nextInt();
if(n>=1&&n<=200)
{
System.out.print(dp[n]);
}
System.out.println();
}
}
public static void Init()
{
dp[1]=new BigInteger("1");
dp[2]=new BigInteger("2");
for(int i=3;i<=201;i++)
{
dp[i]=dp[i-1].add(dp[i-2]);
}
}
}
HDU 5686:2016"百度之星" - 资格赛 Problem B的更多相关文章
- HDU 5688:2016"百度之星" - 资格赛 Problem D
原文链接:https://www.dreamwings.cn/hdu5688/2650.html Problem D Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 5685:2016"百度之星" - 资格赛 Problem A
原文链接:https://www.dreamwings.cn/hdu5685/2637.html Problem A Time Limit: 2000/1000 MS (Java/Others) ...
- [HDU5686]2016"百度之星" - 资格赛 Problem B
题目大意:给你n,规定一个串中相邻的两个1可以合并为一个2(别的不行),让你求长度为n的全1串最多能变成多少种不同的串. 解题思路:我们先来找一波规律,发现n=1,2,3,4,5时答案分别为1,2,3 ...
- [HDU5687]2016"百度之星" - 资格赛 Problem C
题目大意:有n个操作,每个操作是以下三个之一,要你实现这些操作. 1.insert : 往字典中插入一个单词2.delete: 在字典中删除所有前缀等于给定字符串的单词3.search: 查询是否在字 ...
- [HDU5688]2016"百度之星" - 资格赛 Problem D
题目大意:给你n个字符串,如果一个字符串可以通过重新排列变成另一个字符串,则认为这两个字符串相等.每输入一个字符串,输出这个字符串和与它相等的之前出现了几次. 解题思路:我们可以用map保存一个字符串 ...
- [HDU5685]2016"百度之星" - 资格赛 Problem A
题目大意:给你一个字符串,和一些问题,每个问题问你[l,r]子串的哈希值是多少. 哈希值计算方法为:$H(s)=\prod _{i=1} ^{i\leq len(s)}(s_i-28)(mod\ 99 ...
- 2016百度之星资格赛 Problem A(前缀积与求逆元)
题意:给出一个字符串,每次询问给出x和y要求算出从x到y的每个字符的(ASCII 码值-28)的值的积(mod9973). 分析:首先的想法肯定是算出每个位置的前缀积,然后只要F[y]/F[x-1]即 ...
- 2016百度之星资格赛 Problem B(大数+组合数)
题意:度熊面前有一个全是由1构成的字符串,被称为全1序列.你可以合并任意相邻的两个1,从而形成一个新的序列.对于给定的一个全1序列,请计算根据以上方法,可以构成多少种不同的序列.最多200个1. 比如 ...
- 2016百度之星 资格赛ABCDE
看题:http://bestcoder.hdu.edu.cn/contests/contest_show.php?cid=690 交题:http://acm.hdu.edu.cn/search.php ...
随机推荐
- ArcGIS 使用点滴记录
(1)ArcGIS Shapefile数据text类型字段最长为254.若想更长,使用GeoDatabase (2)ArcGIS中出现一些奇奇怪怪的问题,找不到解决方法时,一般考虑是不是空间参考的问题 ...
- 演示一个OLS进行数据访问控制的示例
1.确认数据库版本 2.安装OLS组件 3.创建策略 4.创建分级和标签 5.创建测试用户并授权 6.更新标签 7.测试演示
- 使用JDBC批量保存数据(JdbcDaoSupport,JdbcTemplete)
最近做的一个项目中用到了Hibernate的,然后数据库批量插入数据的时候就使用到了hibernate的批处理,但是效率比较低,看网上说还有一些限制,要禁止二级缓存,还要多一个batch_size的配 ...
- java读取属性配置文件工具类
import java.io.IOException; import java.io.InputStream; import java.util.Properties; /** * * 类: ProU ...
- 新建一个新的spring boot项目
简单几步,在Eclipse中创建一个新的spring Boot项目: 1.Eclipse中安装STS插件: Help -> Eclipse Marketplace... Search或选择&qu ...
- Empire C:Basic 1
一.首先,从一个C程序开始: ///Name:Hello World ///Author:JA ///Date:2015-2-4 #include <stdio.h> //包含标准库的信息 ...
- Run P4 without P4factory - A Simple Example In Tutorials. -2 附 simple_router源码
/* Copyright 2013-present Barefoot Networks, Inc. Licensed under the Apache License, Version 2.0 (th ...
- jQuery 控制表单和表格
这里总结了jQuery中对表格和表单的一些常用操作, 通过这里的实例和操作肯定对jQuery的掌握有一个新得提高, 希望大家耐心看完, 多实践. <!DOCTYPE html PUBLIC &q ...
- [daily][troubleshoot][archlinux][wps][font] wps文档中的图内容无法显示中文
序 用linux作为工作生产环境的几个需要解决的问题之一是:文档协作,即如何兼容Micro$oft Office格式的文档. 我一般的工作方式是:在linux下创建一个win7的虚拟机,安装常用的wi ...
- KVC和KVO大优点
都是动态的,运行时检查,给予了极大的方便