rinetd bam api pointers elasticsearch testng flowjs vue下载 vue router 当前时间减一天 oracle时间格式化 python免费教程 python调用自定义函数 java开发环境搭建 配置java开发环境 java抽象方法 java的map java怎么配置 java数组追加 java中的泛型 怎么装linux系统 php开发实例 莫莫小工具 m4a转mp3格式转换器 js判断字符串相等 超星网课助手 完美手游模拟器 dota改键工具 卡巴斯基离线升级包 wow怎么赚钱 steam怎么卸载 梦幻手游助手 ios12录屏 mathcad 3dmax2014下载 ie拒绝访问 allowtransparency 田字格字体 视频旋转软件 接口自动化测试框架
当前位置: 首页 > 学习教程  > 编程语言

洛谷-P1255 数楼梯

2020/7/24 10:30:34 文章标签:

题目描述

楼梯有 NN 阶,上楼可以一步上一阶,也可以一步上二阶。

编一个程序,计算共有多少种不同的走法。

输入格式

一个数字,楼梯数。

输出格式

输出走的方式总数。

输入输出样例

输入 #1复制

4

输出 #1复制

5

说明/提示

  • 对于 60\%60% 的数据,N \leq 50N≤50;
  • 对于 100\%100% 的数据,N \leq 5000N≤5000。

 

分析:

说实话这题我真的快写吐了,刚拿到的时候,开心的一批,递推第一篇第一题,这么水的吗,不禁想起当年初次接触acm,室友从cf上选了几道题给我们做,当时这个题难得我半天想不通透,如今再见此题,看我不将你灭的体无完肤,一波撸代码,提交,走你!

我kiao?!!wa?我惊了,不会吧,这题都能wa?又改了改,还是wa...不禁陷入思考人生的境地

思考完了,看看题解吧...果然,题还是那个题,只是范围大了,5000,已经不是普通int能承受的范围了,还是要高精啊.....

撸一波高精代码...开数组200,事实证明我还是太年轻了,200根本不够看的好吗?!不多说,直接开6000数组

90分,其中一个数据死活过不去,真的要崩溃了.....下载数据下来看看吧....

mdzz,n=0.....果然是我年轻了,浪费了一次下载数据的机会...

上AC代码:

#include<iostream>

#include<string.h>
using namespace std;
int a[5005][6005];
int n;
void add(int i,int j);
int main()
{
	memset(a,0,sizeof(a));
	cin>>n;
	a[0][1]=0;
	a[1][1]=1;
	a[2][1]=2;
	for(int i=3;i<=n;i++)
		add(i-1,i-2);
	if(n==0)
	cout<<0;
	else
	{
		for(int k=n;k<=n;k++)
	{
		int i=6000;
		//cout<<k<<": ";
		while(a[k][i]==0)
			i--;
		for(;i>=1;i--)
		cout<<a[k][i];
		cout<<endl;
		
		
	}
	}
	
	
	
	
	return 0;
}
void add(int i,int j)
{
	int t=1;
	int cf=0;
	while(t<6000)
	{
		int temp=a[i][t]+a[j][t]+cf;
		cf=temp/10;
		temp=temp%10;
		
		a[i+1][t]=temp;
		t++;
	}
	
	if(cf>0)
	a[i+1][t]=cf;
	//cout<<"a is "<<a[i+1][3]<<a[i+1][2]<<a[i+1][1]<<endl;
}

 


本文链接: http://www.dtmao.cc/news_show_50305.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?