zoukankan      html  css  js  c++  java
  • bzoj1088:[SCOI2005]扫雷Mine

    题目描述

      相信大家都玩过扫雷的游戏。那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来。万圣节到了
    ,“余”人国流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里面的数字
    表示和它8连通的格子里面雷的数目。现在棋盘是n×2的,第一列里面某些格子是雷,而第二列没有雷,如下图: 
    由于第一列的雷可能有多种方案满足第二列的数的限制,你的任务即根据第二列的信息确定第一列雷有多少种摆放
    方案。

    输入

      第一行为N,第二行有N个数,依次为第二列的格子中的数。(1<= N <= 10000)

    输出

      一个数,即第一列中雷的摆放方案数。

    样例输入

    2
    1 1

    样例输出

    2
    题解
    枚举第一个点可能的地雷数,往后更新即可。
     1 #include<cstdio>
     2 #include<algorithm>
     3 #include<cstring>
     4 using namespace std;
     5 int n,a[10010],cnt;
     6 void dfs(int x,int fa,int num)
     7 {
     8     if((fa+num)>a[x])return ;
     9     if(x==n)
    10     {
    11         if(fa+num==a[n])++cnt;
    12         return ;
    13     }
    14     dfs(x+1,num,a[x]-fa-num);
    15 }
    16 int main()
    17 {
    18     scanf("%d",&n);
    19     for(int i=1 ; i<=n ; ++i )scanf("%d",&a[i]);
    20     for(int i=0 ; i<=a[1] ; ++i)
    21         dfs(1,0,i);
    22     printf("%d",cnt);
    23     return 0;
    24 }
  • 相关阅读:
    Median Value
    237. Delete Node in a Linked List
    206. Reverse Linked List
    160. Intersection of Two Linked Lists
    83. Remove Duplicates from Sorted List
    21. Merge Two Sorted Lists
    477. Total Hamming Distance
    421. Maximum XOR of Two Numbers in an Array
    397. Integer Replacement
    318. Maximum Product of Word Lengths
  • 原文地址:https://www.cnblogs.com/fujudge/p/7496857.html
Copyright © 2011-2022 走看看