博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 2563 -统计问题 【递推关系】
阅读量:2232 次
发布时间:2019-05-09

本文共 2025 字,大约阅读时间需要 6 分钟。

统计问题

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6525    Accepted Submission(s): 3843

链接:

Problem Description
在一无限大的二维平面中。我们做例如以下如果:
1、  每次仅仅能移动一格。
2、  不能向后走(如果你的目的地是“向上”。那么你能够向左走。能够向右走。也能够向上走。可是不能够向下走);
3、  走过的格子马上塌陷无法再走第二次;
求走n步不同的方案数(2种走法仅仅要有一步不一样。即被觉得是不同的方案)。

 
Input
首先给出一个正整数C。表示有C组測试数据
接下来的C行,每行包括一个整数n (n<=20)。表示要走n步。
 
Output
请编程输出走n步的不同方案总数。
每组的输出占一行。
 
Sample Input
 
2 1 2
 
Sample Output
 
3 7
 

题意:   中文题目,题意就摆在这,我就不说啦~~~

分析:

这个题目比赛的时候我没想什么递推关系,非常明显。数据不大。我全然能够打表啊,其实,我这个题确实是dfs打表过的,1A,得到FB。然后赛后查看打表数据,我才发现递推关系 _zZ。

//打表代码int vis[50][60];void DFS(int x, int y, int step){    if(step == N)    {        ans++;        return;    }    if(!vis[x - 1][y])    {        vis[x - 1][y] = 1;        DFS(x - 1, y, step + 1) ;        vis[x - 1][y] = 0;    }    if(!vis[x][y - 1])    {        vis[x][y - 1] = 1;        DFS(x, y - 1, step + 1);        vis[x][y - 1] = 0;    }    if(!vis[x][y + 1])    {        vis[x][y + 1] = 1;        DFS(x, y + 1, step + 1);        vis[x][y + 1] = 0;    }}
/****************************>>>>HEADFILES<<<<****************************/#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;/****************************>>>>>DEFINE<<<<<*****************************///#pragma comment(linker, "/STACK:1024000000,1024000000")#define FIN freopen("input.txt","r",stdin)#define FOUT freopen("output.txt","w",stdout)#define CASE(T) for(scanf("%d",&T);T--;)typedef __int64 LL;/****************************>>>>SEPARATOR<<<<****************************///測试数据int ans[] = {0,3,7,17,41,99,239,577,1393,3363,8119,19601,47321,114243,275807,665857,1607521,3880899,9369319,22619537,54608393,131836323};int N,T;int main(){ //FIN; CASE(T) { scanf("%d",&N); printf("%d\n",ans[N]); } return 0;}
通过比对数据,发现ans[i] = ans[i-1]*2 + ans[i-2]   ..... haha

转载于:https://www.cnblogs.com/ljbguanli/p/6863269.html

你可能感兴趣的文章
后端技术杂谈1:搜索引擎基础倒排索引
查看>>
后端技术杂谈2:搜索引擎工作原理
查看>>
后端技术杂谈3:Lucene基础原理与实践
查看>>
后端技术杂谈4:Elasticsearch与solr入门实践
查看>>
后端技术杂谈5:云计算的前世今生
查看>>
后端技术杂谈6:白话虚拟化技术
查看>>
后端技术杂谈7:OpenStack的基石KVM
查看>>
后端技术杂谈8:OpenStack架构设计
查看>>
后端技术杂谈9:先搞懂Docker核心概念吧
查看>>
后端技术杂谈10:Docker 核心技术与实现原理
查看>>
夯实Java基础系列2:Java自动拆装箱里隐藏的秘密
查看>>
夯实Java基础系列1:Java面向对象三大特性(基础篇)
查看>>
夯实Java基础系列3:一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!
查看>>
夯实Java基础系列4:一文了解final关键字的特性、使用方法,以及实现原理
查看>>
Java 未来行情到底如何,来看看各界人士是怎么说的
查看>>
IntelliJ 平台 2020 年路线图
查看>>
走进JavaWeb技术世界8:浅析Tomcat9请求处理流程与启动部署过程
查看>>
微软宣布加入 OpenJDK,打不过就改变 Java 未来!
查看>>
MyBatis动态SQL(认真看看, 以后写SQL就爽多了)
查看>>
为什么强烈推荐 Java 程序员使用 Google Guava 编程!
查看>>