1. /*
  2. 题意:给你一列仅仅能取0和1的数。
  3. 限制:每3个相邻的数的值固定,开头和结尾仅仅限制两个数
  4. 求:有多少种组合方案
  5. 解:搜索,在开头和结尾再加一个仅仅能取零的数,直接推断是否符合条件就可以
  6. */
  7. #include<stdio.h>
  8. #include<string.h>
  9. #include<stdlib.h>
  10. using namespace std;
  11. #define N 11000
  12. int sum;
  13. int dp[N];
  14. int a[N],n;
  15. void dfs(int i) {
  16. if(i==2) {
  17. if(dp[i]-dp[i-2]!=a[i-1])
  18. return ;
  19. }
  20. if(i>2) {
  21. if(dp[i]-dp[i-3]!=a[i-1])
  22. return ;
  23. }
  24. if(i==n+1) {
  25. sum++;
  26. return ;
  27. }
  28. if(i==n) {
  29. dp[i+1]=dp[i];
  30. dfs(i+1);
  31. }
  32. else {
  33. dp[i+1]=dp[i];
  34. dfs(i+1);
  35. dp[i+1]=dp[i]+1;
  36. dfs(i+1);
  37. }
  38. return ;
  39. }
  40. int main() {
  41. int i;
  42. while(scanf("%d",&n)!=EOF) {
  43. for(i=1;i<=n;i++)
  44. scanf("%d",&a[i]);
  45. if(n==1) {
  46. printf("%d\n",a[1]);
  47. continue;
  48. }
  49. sum=0;
  50. dp[0]=0;
  51. dp[1]=0;
  52. dfs(1);
  53. // printf("%d\n",sum);
  54. dp[1]=1;
  55. dfs(1);
  56. printf("%d\n",sum);
  57. }
  58. return 0;}

bzoj 1088 简单dfs的更多相关文章

  1. BZOJ 1088 扫雷Mine

    今天做了几道BZOJ的题,发现统观题目时还是很多很多都不会的,不过还是有几道时可以作的,以后要慢慢加强,争取多做题 BZOJ 1088 扫雷 其实本人平常不大玩扫雷的,就算玩也不是很好,不过看n*2的 ...

  2. Red and Black(简单dfs)

    Red and Black Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  3. 【BZOJ 1088 扫雷Mine】模拟

    http://www.lydsy.com/JudgeOnline/problem.php?id=1088 2*N的扫雷棋盘,第二列的值a[i]记录第 i 个格子和它8连通的格子里面雷的数目. 第一列的 ...

  4. Bzoj 1088: [SCOI2005]扫雷Mine (DP)

    Bzoj 1088: [SCOI2005]扫雷Mine 怒写一发,算不上DP的游戏题 知道了前\(i-1\)项,第\(i\)项会被第二列的第\(i-1\)得知 设\(f[i]\)为第一列的第\(i\) ...

  5. POJ 1979 Red and Black (简单dfs)

    题目: 简单dfs,没什么好说的 代码: #include <iostream> using namespace std; typedef long long ll; #define IN ...

  6. POJ1573(Robot Motion)--简单模拟+简单dfs

    题目在这里 题意 : 问你按照图中所给的提示走,多少步能走出来??? 其实只要根据这个提示走下去就行了.模拟每一步就OK,因为下一步的操作和上一步一样,所以简单dfs.如果出现loop状态,只要记忆每 ...

  7. POJ1979 Red and Black (简单DFS)

    POJ1979 Description There is a rectangular room, covered with square tiles. Each tile is colored eit ...

  8. BZOJ 2819: Nim dfs序维护树状数组,倍增

    1.随机选两个堆v,u,询问若在v到u间的路径上的石子堆中玩Nim游戏,是否有必胜策略,如果有,vfleaking将会考虑将这些石子堆作为初始局面之一,用来坑玩家.2.把堆v中的石子数变为k. 分析: ...

  9. 【递推】BZOJ 1088: [SCOI2005]扫雷Mine

    1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2275  Solved: 1328[Submit][St ...

随机推荐

  1. docker.io/centos安装phpstudy

    1.准备工作 yum install vimyum install wget yum install make yum -y install bzip2 yum install m4 yum inst ...

  2. Builder(构造者)

    Builder(构造者) <?php class Product { private $name; public function setName($name) { $this->name ...

  3. Dell Idrac Normal Settings

    racadm安装请查看:http://www.cnblogs.com/zyd112/p/7611022.html racadm语法(远程执行命令):racadm -r <racIpAddr> ...

  4. ImportError: No module named ‘MySQLdb'

    1.APP未注册 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contentty ...

  5. Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2) D. Field expansion

    D. Field expansion time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  6. POJ-3352 Road Construction,tarjan缩点求边双连通!

    Road Construction 本来不想做这个题,下午总结的时候发现自己花了一周的时间学连通图却连什么是边双连通不清楚,于是百度了一下相关内容,原来就是一个点到另一个至少有两条不同的路. 题意:给 ...

  7. POJ-1743 Musical Theme,后缀数组+二分!

                                                        Musical Theme 人生第一道后缀数组的题,采用大众化思想姿势极其猥琐. 题意:给你n个 ...

  8. Linux硬件配置信息

      在网上找了N久,发现了一篇不错的文档,转载一下: 1.查看机器所有硬件信息: dmidecode |more dmesg |more 这2个命令出来的信息都非常多,所以建议后面使用"|m ...

  9. iOS学习笔记06-手势识别

    一.UIGestureRecognizer简单介绍 我们已经学习了触摸事件处理,但触摸事件处理起来很麻烦,每个触摸事件处理都需要实现3个touches方法,比较繁琐,实际上我们可以使用更加简单的触摸事 ...

  10. 洛谷P2498 [SDOI2012]拯救小云公主 【二分 + 并查集】

    题目 英雄又即将踏上拯救公主的道路-- 这次的拯救目标是--爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只boss,而是上千只boss.当英雄意识到自己还是等级1 ...