洛谷P1331 海戰

2022-05-01 20:51:10 字數 1183 閱讀 5113

這還是一道聯通塊的題,只是需要判斷是否存在以下四種情況:

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飛機。此外,巡洋船隻和艦隊將被派去保護海岸線。不幸的是因為種種原因,國防海軍部僅有很少的幾位軍官能指揮大型海戰。因此,他們考慮培養一些新的海軍指揮官,他們選擇了 海戰 遊戲來幫助學習。在這個著名的遊戲...