BZOJ 1088 掃雷Mine 列舉初始狀態

2022-07-17 10:57:13 字數 1371 閱讀 5159

題目大意:

現在棋盤是n×2的,第一列裡面某些格仔是雷,而第二列沒有雷,如下圖: 由於第一列的雷可能有多種方案滿足第二列的數的限制,你的任務即根據第二列的資訊確定第一列雷有多少種擺放方案。

思路:

只需要列舉第一行是否有雷就ok了。

判斷的時候除了判斷相等,還要判斷每a個f[i]範圍必須在0-1之間

1 #include2

#define ios ios::sync_with_stdio(false);//

不可再使用scanf printf

3#define max(a, b) ((a) > (b) ? (a) : (b))//

禁用於函式,會超時

4#define min(a, b) ((a) < (b) ? (a) : (b))

5#define mem(a) memset(a, 0, sizeof(a))

6#define dis(x, y, x1, y1) ((x - x1) * (x - x1) + (y - y1) * (y - y1))

7#define mid(l, r) ((l) + ((r) - (l)) / 2)

8#define lson ((o)<<1)

9#define rson ((o)<<1|1)

10#define accepted 0

11#pragma comment(linker, "/stack:102400000,102400000")//

棧外掛程式12

using

namespace

std;

13 inline int

read()

1417

while (ch>='

0'&&ch<='9')

18return x*f;19}

2021 typedef long

long

ll;22

const

int maxn = 10000 + 10;23

const

int mod = 1000000007;//

const引用更快,巨集定義也更快

24const

int inf = 1e9 + 7;25

const

double eps = 1e-6;26

inta[maxn];

27int f[maxn];//

f[i]表示i是否有雷

28int

n;29

bool

judge()

3036

return

true;37

}38intmain()

39

bzoj1088掃雷(搜尋)

time limit 10 sec memory limit 162 mb submit 3669 solved 2153 submit status discuss 相信大家都玩過掃雷的遊戲。那是在乙個n m的矩陣裡面有一些雷,要你根據一些資訊找出雷來。萬聖節到了 餘 人國流行起了一種簡單的掃雷遊...

1088 SCOI2005 掃雷Mine 題解

傳送門 題意很簡單,不重複了。一開始把這當成遞推了,結果各種細節 最後還華麗麗的wa了,後來手賤點了題解,md,我真的就是乙個菜雞。其實這麼想,首先第乙個格仔也就0和1兩種狀態,然後第二個格仔,由於右邊一列第乙個格仔給出的數就是第乙個格仔和第二個格仔的地雷和,所以也能推出來,第三個由右邊第二個,又推...

BZOJ3438 小M的作物

bzoj3438 小m的作物 小m在mc裡開闢了兩塊巨大的耕地a和b 你可以認為容量是無窮 現在,小p有n中作物的種子,每種作物的種子有1個 就是可以種一棵作物 用1.n編號 現在,第i種作物種植在a中種植可以獲得ai的收益,在b中種植可以獲得bi的收益,而且,現在還有這麼一種神奇的現象,就是某些作...