這還是一道聯通塊的題,只是需要判斷是否存在以下四種情況:
o. .o oo oo
oo oo o. .o
如果存在就是bad placement.
要注意標記以下,不然會出現多次輸出bad placement.的情況。
ac**如下:
#include#include#include#include#include#include#define maxn 10010
using namespace std;
char g[maxn][maxn];
int vis[maxn][maxn];
int cnt;
int color;
struct item
;int r,c;
queueq;
void bfs(item t)
if(g[r.x-1][r.y]=='#'&&r.x-1>=1&&vis[r.x-1][r.y]==0)
if(g[r.x][r.y+1]=='#'&&r.y+1<=c&&vis[r.x][r.y+1]==0)
if(g[r.x][r.y-1]=='#'&&r.y-1>=1&&vis[r.x][r.y-1]==0)
}}int main()
}item t;
for(int i=1;i<=r;i++)}}
}bool sign=0;
for(int i=1;i<=r;i++)
else if(g[i][j]=='#'&&g[i+1][j]=='#'&&!sign&&g[i][j+1]=='.'&&g[i+1][j+1]=='#')
else if(g[i][j]=='#'&&g[i+1][j]=='.'&&!sign&&g[i][j+1]=='#'&&g[i+1][j+1]=='#')
else if(g[i][j]=='.'&&g[i+1][j]=='#'&&!sign&&g[i][j+1]=='#'&&g[i+1][j+1]=='#')}}
// for(int i=1;i<=r;i++)
// // cout/ }
if(!sign)
// for(int i=1;i<=r;i++)
// // cout/ }
return 0;
}
洛谷P1331海戰
題目傳送門 這道題的難點在於判斷是否有船相鄰。通過自己模擬的資料可以得出結論 如果圖是不和法的,一定存在如下結構 或 或 或 即在乙個2 2的方格中有三個 因為題裡說船是方形的,即只能是橫條或豎條 剛開始不審題爆掉了37分 於是就有判斷 boold int i,int j if a i 1 j if...
洛谷P1331海戰
題目描述題目描述 在峰會期間,武裝部隊得處於高度戒備。警察將監視每一條大街,軍隊將保衛建築物,領空將布滿了f 2003飛機。此外,巡洋船隻和艦隊將被派去保護海岸線。不幸的是因為種種原因,國防海軍部僅有很少的幾位軍官能指揮大型海戰。因此,他們考慮培養一些新的海軍指揮官,他們選擇了 海戰 遊戲來幫助學習...
P1331 海戰 洛谷
在峰會期間,武裝部隊得處於高度戒備。警察將監視每一條大街,軍隊將保衛建築物,領空將布滿了f 2003飛機。此外,巡洋船隻和艦隊將被派去保護海岸線。不幸的是因為種種原因,國防海軍部僅有很少的幾位軍官能指揮大型海戰。因此,他們考慮培養一些新的海軍指揮官,他們選擇了 海戰 遊戲來幫助學習。在這個著名的遊戲...