輸入格式:
第一行為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...