BZOJ 1088: [SCOI2005]扫雷Mine( )
生活随笔
收集整理的這篇文章主要介紹了
BZOJ 1088: [SCOI2005]扫雷Mine( )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
枚舉第一個的情況...判斷一下是否沖突...?
------------------------------------------------------------------
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn = 10009;int N, num[maxn], T[maxn];bool F[maxn];bool check() {memcpy(T, num, sizeof(int) * N);for(int i = 0; i < N; i++) {if(F[i]) {if(--T[i] < 0) return false;if(i + 1 < N && --T[i + 1] < 0) return false;}if(T[i] > 1) return false;F[i + 1] = T[i];}return !T[N - 1];}int main() {scanf("%d", &N);for(int i = 0; i < N; i++) scanf("%d", num + i);int ans = 0;F[0] = 0; if(check()) ans++;F[0] = 1; if(check()) ans++;printf("%d\n", ans);return 0;}------------------------------------------------------------------
1088: [SCOI2005]掃雷Mine
Time Limit:?10 Sec??Memory Limit:?162 MBSubmit:?2327??Solved:?1360
[Submit][Status][Discuss]
Description
相信大家都玩過掃雷的游戲。那是在一個n*m的矩陣里面有一些雷,要你根據一些信息找出雷來。萬圣節到了,“余”人國流行起了一種簡單的掃雷游戲,這個游戲規則和掃雷一樣,如果某個格子沒有雷,那么它里面的數字表示和它8連通的格子里面雷的數目。現在棋盤是n×2的,第一列里面某些格子是雷,而第二列沒有雷,如下圖: 由于第一列的雷可能有多種方案滿足第二列的數的限制,你的任務即根據第二列的信息確定第一列雷有多少種擺放方案。
Input
第一行為N,第二行有N個數,依次為第二列的格子中的數。(1<= N <= 10000)
Output
一個數,即第一列中雷的擺放方案數。
Sample Input
21 1
Sample Output
2HINT
Source
?
轉載于:https://www.cnblogs.com/JSZX11556/p/4939752.html
總結
以上是生活随笔為你收集整理的BZOJ 1088: [SCOI2005]扫雷Mine( )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Database] 数据库完整性
- 下一篇: 《大道至简》第六章读后感及本次课后习题1