洛谷2327 掃雷

2021-08-02 21:52:00 字數 968 閱讀 9536

輸入格式:

第一行為n,第二行有n個數,依次為第二列的格仔中的數。(1<= n <= 10000)

輸出格式:

乙個數,即第一列中雷的擺放方案數。

輸入樣例#1:

2

1 1

輸出樣例#1:

2
思路:玩過掃雷的人都知道一旦第乙個格仔的雷定了,那麼剩下的格仔也都定了,故答案只有0,1,2三種,騙分資料為30,30,40,故我們只需要列舉第乙個格仔的情況,再根據第乙個格仔的情況往下推就可以,中間判斷是否合法(不過話說這可是四川的省選題啊)。

#include#include#include#include#include#include#include#includeusing namespace std;

const int maxn=10010;

int a[maxn],b[maxn],c[maxn];

int main()

if (n==1)

else

return 0;

} bool p=true;

a[1]=1;

for (int i=1;i<=n;i++)

if (b[i])

if (b[i])

} if (p && !a[n+1])

memset(a,0,sizeof(a));

a[1]=0;

p=true;

for (int i=1;i<=n;i++)

if (c[i])

if (c[i])

} if (p && !a[n+1])

cout<

按照我的處理方式第n+1個格仔有雷也是合法的,這當然是不可能的。。。

掃雷 洛谷p2327

輸入格式 第一行為n,第二行有n個數,依次為第二列的格仔中的數。1 n 10000 輸出格式 乙個數,即第一列中雷的擺放方案數。輸入樣例 1 複製2 1 1 輸出樣例 1 複製2如果從上到下確定每個雷的位置,那麼判斷某個位置能否為雷只受它上面2格雷的情況影響,於是可以將i 2 i的雷記錄為乙個3位的...

洛谷 2327 SCOI2005 掃雷

輸入輸出格式 輸入格式 第一行為n,第二行有n個數,依次為第二列的格仔中的數。1 n 10000 輸出格式 乙個數,即第一列中雷的擺放方案數。輸入輸出樣例 輸入樣例 1 複製 2 1 1 輸出樣例 1 複製 2借鑑了乙個大神的思路,這道題我用的四維dp。用四維陣列f儲存 一維第二列位置,二維三維四維...

洛谷 P2327 SCOI2005 掃雷

看起來我做的和其他題解不一樣 那就發一篇吧 首先本題情況看似無厘頭,但是仔細觀察,不難發現 我們可以假設第一種情況,接著可以推出第二種 然後有了兩個已知的後,第三個顯而易見 如果你要問我怎麼推出來的嗎,我在裡面說的的邏輯判斷已經很明白了 include include include include...