codeforces Minesweeper 1D】的更多相关文章

题意:就是挖地雷,给你一个字符串,‘*’代表地雷,‘1’代表在它的周围有1个地雷,‘2’代表在左右都有个地雷,‘?’代表不确定是不是地雷,可以是1,2,*,问你最后有几种方式确定所有的的地雷. 思路:dp[i][0] 代表次位置为0,dp[i][1]代表左边有地雷,dp[i][2]代表右边有地雷,dp[i][3]代表左右都有,dp[i][4]代表此位置为地雷. #include <cstdio> #include <cstring> #include <algorithm&g…
[题目链接]:http://codeforces.com/problemset/problem/404/D [题意] 让你玩一个1维的扫雷游戏; 游戏的描述由数字0..2以及符号*表示; 分别表示这个格子的相邻的两个格子里面有几个炸弹;以及炸弹; 然后挖一些空; 问你有多少种填满的方案; [题解] dp[i][1] 表示前i个位置,第i个位置放0的方案数 dp[i][2] 表示钱i个位置,第i个位置放1,前一位没炸弹的方案数 dp[i][3] -..放1,前一位有炸弹-.. dp[i][4] -…
题意:给定一个序列,*表示雷,1表示它旁边有一个雷,2表示它旁边有两个雷,0表示旁边没有雷,?表示未知,求有多少情况. 析:dp[i][j] 表示第 i 个放 j 状态,有多少种情况,然后很简单的DP就可以搞定. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <cstdlib> #in…
题意: 给定字符串,其中'*'表示地雷,'1'表示左/右边有一个地雷相邻,'2'表示左右两边均有地雷相邻,'0'表示左右均无地雷相邻,'?'表示待定,可填入0,1,2或者地雷,有多少种表示方法使字母串满足规定. 分析: 不难想到用dp[i][j]其中j为0,1,2,3(即四种状态),表示下标为i的元素为j状态时,前i+1个字符满足规定的种数.起初这样做,每次都还需要对前一个元素为'1'时进行特殊处理,要分两种情况,不如直接在dp数组中增加一个状态,表示起来也更清晰,即dp[i][j]中j可为0,…
http://blog.csdn.net/snowy_smile/article/details/49924965 D. Igor In the Museum time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Igor is in the museum and he wants to see as many pictures as…
UVa 1625 color length https://blog.csdn.net/Dylan_Frank/article/details/52261424 https://www.cnblogs.com/jerryRey/p/4740944.html Uva-1375 The Best Name for Your Baby(未解决) https://blog.csdn.net/u014258433/article/details/69070747 CodeForces - 17C Bala…
D. Minesweeper 1D time limit per test 2 seconds memory limit per test 512 megabytes input standard input output standard output Game "Minesweeper 1D" is played on a line of squares, the line's height is 1 square, the line's width is n squares. S…
题目地址:http://codeforces.com/contest/984/problem/B 题目大意:扫雷游戏,给你一个n*m的地图,如果有炸弹,旁边的八个位置都会+1,问这幅图是不是正确的. 题解:把输入的地图转换为数字格式,自己重新按炸弹绘制一幅图,对比一下. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #…
题意: 给出一个矩阵,如果一个格子是数字,那么与这个格子相邻的格子中有炸弹的数量必须等于这个格子中的数字: 如果一个格子是空地,那么这个格子的所有相邻的格子中就不能有炸弹. 判断这个矩阵是否合法. 思路: 暴力枚举即可,不过空地那里要注意,相邻的是数字也可以. 代码: #include <stdio.h> #include <string.h> #include <algorithm> #include <ctype.h> using namespace s…
#include<bits/stdc++.h>using namespace std;int dp[1000007][7][7];int cnt[1000007];int main(){    int n,m;    scanf("%d%d",&n,&m);    int x=0;    for(int i=1;i<=n;i++){        scanf("%d",&x);        cnt[x]++;    }  …