usaco castle
来源:互联网 发布:数据公司 30亿 收购 编辑:程序博客网 时间:2024/06/01 08:08
/*ID: ljracm1LANG: C++PROB: castle*/#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#define Tusing namespace std;int M,N;int maze[55][55];int wall[55][55];int vis[55][55];int area[255];int color=1,sum=0;void dfs(int x,int y){ sum++; vis[x][y]=color; int xx,yy; int d = wall[x][y]; if(!(d==4||d==5||d==6||d==7||d==12||d==13||d==14||d==15)){ yy = y+1; if(yy>=1&&yy<=M&&!vis[x][yy])dfs(x,yy); } if(!(d==8||d==9||d==10||d==11||d==12||d==13||d==14||d==15)){ xx = x+1; if(xx>=1&&xx<=N&&!vis[xx][y])dfs(xx,y); } if(!(d==1||d==3||d==5||d==7||d==9||d==11||d==13||d==15)){ yy = y-1; if(yy>=1&&yy<=N&&!vis[x][yy])dfs(x,yy); } if(!(d==2||d==3||d==6||d==7||d==10||d==11||d==14||d==15)){ xx = x-1; if(xx>=1&&xx<=N&&!vis[xx][y])dfs(xx,y); }}int main(){ #ifdef T freopen("castle.in","r",stdin); freopen("castle.out","w",stdout); #endif int mx1=0,mx2=0; while(cin>>M>>N){ mx1=0; for(int i=1; i<=N; i++) for(int j=1; j<=M; j++) cin>>wall[i][j]; memset(vis,0,sizeof(vis)); for(int i=1; i<=N; i++) for(int j=1; j<=M; j++) if(!vis[i][j]){ sum=0; dfs(i,j); area[color++]=sum; mx1 = max(mx1,sum); } mx2 = mx1; int a,b; char dir; for(int j=1; j<=M; j++){ for(int i=N; i>=1; i--){ int d = wall[i][j]; int xx,yy,x=i,y=j; if(d==2||d==3||d==6||d==7||d==10||d==11||d==14||d==15){ xx = x-1; if(xx>=1&&xx<=N&&vis[xx][y]!=vis[x][y]&&area[vis[xx][y]]+area[vis[x][y]]>mx2){ mx2 = area[vis[xx][y]]+area[vis[x][y]]; a = x; b = y; dir = 'N'; } } if(d==4||d==5||d==6||d==7||d==12||d==13||d==14||d==15){ yy = y+1; if(yy>=1&&yy<=M&&vis[x][yy]!=vis[x][y]&&area[vis[x][yy]]+area[vis[x][y]]>mx2){ mx2 = area[vis[x][yy]]+area[vis[x][y]]; a = x; b = y; dir = 'E'; } } } } cout<<color-1<<endl; cout<<mx1<<endl; cout<<mx2<<endl; cout<<a<<" "<<b<<" "<<dir<<endl; } return 0;}
0 0
- [usaco] castle
- usaco castle
- USACO castle
- USACO castle
- usaco castle
- USACO 2.1 The Castle (castle)
- usaco——castle
- 【图论】【USACO】The Castle
- usaco-the castle
- USACO Chapter2 The Castle
- USACO:PROB The Castle
- USACO-The Castle
- USACO The Castle
- USACO The castle
- USACO 2.1 The Castle
- USACO 2.1 The Castle
- USACO--2.1The Castle
- USACO 2.1 The Castle
- 使用SharedPreferences保存登陆账号和密码
- 装饰者模式
- 基于Python的一个简单爬虫(糗事百科爬虫)
- usaco frac1
- CCProgressTimer 使用
- usaco castle
- make menuconfig/.config/Kconfig解析
- c#中关于udp实现可靠地传输(数据包的分组发送) 升级版
- JAVA学习笔记—review基本知识4
- COCOS2D-X 3.0 Resource下建立一个文件夹,但是文件夹里的资源无法访问
- iOS Storyboard全解析
- 技术人员如何参与产品设计讨论:激活那一潭死水
- java就该效率低吗?
- Project Euler Q4 解法