栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1856 Sea Battle

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1856 Sea Battle

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int maxx,maxy,minx,miny,r,c;char map[1200][1200];bool check(int x,int y){    return x>=0&&y>=0&&x<r&&y<c&&map[x][y]=='#';}int dfs(int x,int y){    minx=min(minx,x);    miny=min(miny,y);    maxx=max(maxx,x);    maxy=max(maxy,y);    map[x][y]='.';    int ret=1;    for(int i=-1;i<=1;i++)        for(int j=-1;j<=1;j++) if(check(x+i,y+j))     ret+=dfs(x+i,y+j);    return ret;}int main(){    while(scanf("%d%d",&r,&c),(r||c))    {        for(int i=0;i<r;i++) scanf(" %s",map[i]);        int ans=0;        for(int i=0;i<r;i++)        { for(int j=0;j<c;j++) {     if(map[i][j]=='#')     {         minx=maxx=i;         miny=maxy=j;         int ret=dfs(i,j);         if(ret==(maxx-minx+1)*(maxy-miny+1))  ans++;         else         {  ans=-1;  i=r;  break;         }     } }        }        if(ans==-1) printf("Bad placement.n");        else printf("There are %d ships.n",ans);    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/374758.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号