统计问题

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 6506    Accepted Submission(s): 3836

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 + 打表过,比較水
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
const int MAXN = 20 + 5;
LL M[MAXN << 2][MAXN << 2],dp[MAXN];
bool vis[MAXN << 2][MAXN << 2];
int C, n;
void dfs(int pos,int x,int y){
if(pos > 16) return;
if(vis[x][y]) return;
dp[pos] ++;
vis[x][y] = true;
dfs(pos + 1,x + 1, y);
dfs(pos + 1,x, y + 1);
dfs(pos + 1,x, y - 1);
vis[x][y] = false;
}
void init(){
memset(dp, 0, sizeof(dp));
memset(vis,false,sizeof(vis));
dp[20]=54608393;
dp[19]=22619537;
dp[18]=9369319;
dp[17]=3880899;
dfs(0,0,50);
}
int main(){
init();
scanf("%d", &C);
while(C --){
scanf("%d", &n);
printf("%I64d\n",dp[n]);
}
return 0;
}

 

HDU 2563 统计问题 (DFS + 打表)的更多相关文章

  1. ACM: HDU 2563 统计问题-DFS+打表

    HDU 2563 统计问题 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u HDU 2 ...

  2. HDU 2563 统计问题 (递推)

    A - 统计问题 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  3. hdu 2510 符号三角形 (DFS+打表)

    符号三角形 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  4. HDU 2563 统计问题(递推)

    题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=2563 将向上移的步数设为a[n],将向左右移的步数设为b[n],有a[n]=a[n-1]+b[n-1 ...

  5. hdu 2563 统计问题

    统计问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissi ...

  6. HDU 2563 统计问题(递归,思维题)

    统计问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  7. HDU 2586 How far away(dfs+邻接表)

    How far away [题目链接]How far away [题目类型]dfs+邻接表 &题意: 题目大意:一个村子里有n个房子,这n个房子用n-1条路连接起来,接下了有m次询问,每次询问 ...

  8. HDU 4548 美素数(打表)

    HDU  4548  美素数(打表)解题报告 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88159#problem/H 题目 ...

  9. DFS+打表

    N皇后问题 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status ...

随机推荐

  1. js base64加密与C#后台base64解密

    js代码 function encode64(input) { var output = ""; var base = new Base64(); var output = bas ...

  2. rails 开发随手记 8

    rails上传文件 无需gem 首先是model class DataFile < ActiveRecord::Base def initialize end def name @name en ...

  3. js一些常用方法

    string 增加 IsNullorEmpty : String.prototype.IsNullOrEmpty = function (r) {    if (r === undefined || ...

  4. mutt发邮件

    在 /etc/Muttrc 文件添加以下内容:   set from="laughingliang@chaincar.com" set use_from=yes set envel ...

  5. 实现echarts内外圈联动

    //控制都是通过控制series中data的name,那么将内外圈需要同事控制的部分设置为一样的名字,就可以实现内外圈联动. //但是在name相同时,会使默认分配颜色时相同,使颜色不好看,这里就需要 ...

  6. LightOJ-1282 Leading and Trailing 模算数 快速幂 对数的用法

    题目链接:https://cn.vjudge.net/problem/LightOJ-1282 题意 给出两个正整数n(2 ≤ n < 231), k(1 ≤ k ≤ 1e7) 计算n^k的前三 ...

  7. NOIP2016 天天爱跑步(树上差分)

    题意 给定一棵树,从时刻 0 开始,有若干人从 S[i] 出发向 T[i] 移动,每单位时刻移动一条边 对于树上每个点 x,求 w[x]  时刻有多少人恰好路过 x N,M≤300000 题解 从上午 ...

  8. 极速响应Excel数据报表请求的一种方法

    摘要 通过缓存和维护Excel Workbook实例,极速响应Excel数据报表请求. 这是一个真实的大数据"云计算"项目中的解决方案,在给定的时间和资源下,只有这种方法是最简单并 ...

  9. KM HDU 3718

    #include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> ...

  10. Oracle数据库备份恢复,巡检须要关注的对象设置以及相关恢复概述

    数据库备份恢复.巡检须要关注的对象设置: 1.数据库名称,以及DBID:  --dbid在v$database中     SYS@ORCL>select dbid,name from v$dat ...