12 November

[SCOI2005] Mine

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

乱搞!

#include <cstdio>
#include <cstring> 

int n, d[10005], p[10005], ans;

inline bool chk() {
	for (int i=2; i<=n; ++i) p[i+1]=d[i]-p[i-1]-p[i];
	return !p[n+1];
}

int main() {
	scanf("%d", &n);
	memset(p, -1, sizeof p);
	for (int i=1; i<=n; ++i) scanf("%d", &d[i]);
	for (int i=0; i<=d[1]; ++i) {
		memset(p, 0, sizeof p);
		p[1]=i, p[2]=d[1]-i;
		if (chk()) ++ans;
	}
	printf("%d\n", ans);
	return 0;
}
posted @ 2019-11-12 11:27  greyqz  阅读(108)  评论(0编辑  收藏  举报