XDU 1056
解法一:简单搜索肯定TLE,只是单纯的想写一发搜索练练手
#include<cstdio>
#include<cstring>
#define maxn 1005
using namespace std;
int i,j,k,n,ans;
int c[maxn][maxn];
int dir[][]={{,},{,}};
bool can(int i,int j)
{
if(i<||j<||i>n||j>n||i<j||c[i][j]!=)
return false;
return true;
}
void dfs(int i,int j)
{
if(i==n&&j==n)
ans++;
else{
if(can(i,j)){
c[i][j]=;
for(int k=;k<;k++){
int ni=i+dir[][k];
int nj=j+dir[][k];
dfs(ni,nj);
}
}
else
return ;
}
c[i][j]=;
//如果当前位置可以走 但是它通往的两个方向都不能走 则不走这一步 还原为0
}
int main()
{
while(scanf("%d",&n)!=EOF)
{
ans=;
memset(c,,sizeof(c));
dfs(,);
printf("%d\n",ans%);
}
return ;
}
解法2:动态规划
//dp[i][j]表示从(0,0)到达(i,j)有多少种
//dp[i][j]=dp[i-1][j]+dp[i][j-1]
#include<cstdio>
#include<cstring>
#define maxn 1005
using namespace std;
int dp[maxn][maxn];
#define N 10007
int main()
{
int n;
dp[][]=;
for(int i=;i<maxn;i++){
dp[i][]=;
}
for(int i=;i<maxn;i++){
for(int j=;j<=i;j++){
dp[i][j]=dp[i-][j]%N+dp[i][j-]%N;
}
}
while(scanf("%d",&n)!=EOF)
printf("%d\n",dp[n][n]%N);
return ;
}
XDU 1056的更多相关文章
- 【转】[退役]纪念我的ACM——headacher@XDU
转自:http://hi.baidu.com/headacher/item/5a2ce1d50609091b20e25022 退役了,是时候总结一下我ACM的生涯了.虽然很舍不得,但这段回忆很值得纪念 ...
- 【BZOJ】1862: [Zjoi2006]GameZ游戏排名系统 & 1056: [HAOI2008]排名系统(treap+非常小心)
http://www.lydsy.com/JudgeOnline/problem.php?id=1862 http://www.lydsy.com/JudgeOnline/problem.php?id ...
- acdream 1056 (黑白染色)
题意:给你一些关系,每个关系是两只马的名字,表示这两个马不能在一个分组里,问你能否将这些马分成两组. 黑白染色,相邻的点染不同颜色.bfs搞即可,水题. /* * this code is made ...
- bzoj 1056 [HAOI2008]排名系统(1862 [Zjoi2006]GameZ游戏排名系统)
1056: [HAOI2008]排名系统 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1854 Solved: 502[Submit][Statu ...
- poj 1056 IMMEDIATE DECODABILITY(KMP)
题目链接:http://poj.org/problem?id=1056 思路分析:检测某字符串是否为另一字符串的前缀,数据很弱,可以使用暴力解法.这里为了练习KMP算法使用了KMP算法. 代码如下: ...
- URAL 1056(树形DP)
1056. Computer Net Time limit: 2.0 second Memory limit: 64 MB Background Computer net is created by ...
- poj 1056 IMMEDIATE DECODABILITY 字典树
题目链接:http://poj.org/problem?id=1056 思路: 字典树的简单应用,就是判断当前所有的单词中有木有一个是另一个的前缀,直接套用模板再在Tire定义中加一个bool类型的变 ...
- PAT 1056 组合数的和(15)(代码)
1056 组合数的和(15 分) 给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字.要求所有可能组合出来的 2 位数字的和.例如给定 2.5.8,则可以组合出: ...
- FZU OJ 1056 :扫雷游戏
Problem 1056 扫雷游戏 Accept: 2624 Submit: 6903Time Limit: 1000 mSec Memory Limit : 32768 KB Prob ...
随机推荐
- Java Web开发SpringMVC和MyBatis框架开发环境搭建和简单有用
1.下载SpringMVC框架架包,下载地址: 点击下载 点击打开地址如图所看到的.点击下载就可以 然后把相关的jar拷贝到lib下导入 2.MyBatis(3.4.2)下载 X-Amz-Algori ...
- freemarker1 一些内建函数和用法
${" green mouse"?cap_first} --> Green mouse //字符串中的第一个单词的首字母大写 ${"ABCDF" ...
- JavaScript第三天 boolean和json
布尔值 true:非零数字.非空字符串.非空对象 false:数字零.空字符串.null空对象.undefined json JSON(JavaScript Object Notation) 是一种 ...
- Spring boot Junit Test单元测试
Spring boot 1.40 JUnit 4 需要依赖包 spring-boot-starter-test.spring-test 建立class,加上如下注解,即可进行单元测试,别的帖子里说要加 ...
- iOS开发之-- textview 光标起始位置偏移
使用textview的时候,会发生光标偏移的情况,其实是因为iOS7里导航栏,状态栏等有个边缘延伸的效果在. 把边缘延伸关掉就好了.代码如下 //取消iOS7的边缘延伸效果(例如导航栏,状态栏等等) ...
- js截取最后一个斜杠之后的内容
var str = "/asdasf/asfaewf/agaegr/trer/rhh"; var index = str .lastIndexOf("\/"); ...
- 第4章 Vim编辑器与Shell命令脚本
章节简述: 本章节将教给您如何使用Vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库 ,熟练使用各个模式和命令快捷键. 我们可以通过Vim编辑器将Linux命令放入合适的逻辑测试语句(if. ...
- Gson 解析JSON数据
{"province":[{"name":"安徽省","city":[{"name":"安 ...
- jQuery源码分析-each函数
本文部分截取自且行且思 jQuery.each方法用于遍历一个数组或对象,并对当前遍历的元素进行处理,在jQuery使用的频率非常大,下面就这个函数做了详细讲解: 复制代码代码 /*! * jQuer ...
- Spring boot:logback文件配置
resources文件夹下:新建logback-spring.xml文件. 文件内容like: <?xml version="1.0" encoding="UTF- ...