链接

分析:先暴力求出联通块数和最大联通块包含多少,接着对于每个位置判断去掉其上下左右的四个位置的墙之后的最大联通块数,并且记得先选最西,然后选最南的顺序了来输出

 /*
PROB:castle
ID:wanghan
LANG:C++
*/
#include "iostream"
#include "cstdio"
#include "cstring"
using namespace std;
const int maxn=+;
int n,m,a[maxn][maxn],vis[maxn][maxn];
int ans,cnt;
int dx[]={,-,,};
int dy[]={-,,,};
int r[]={,,,};
bool judge(int x,int y){
if(x>n||x<=||y<=||y>m)
return false;
return true;
}
void dfs(int x,int y){
if(vis[x][y])
return ;
vis[x][y]=;
ans++;
for(int i=;i<;i++){
int sx=x+dx[i],sy=y+dy[i];
if(judge(sx,sy)){
if((a[x][y]&r[i])==)
dfs(sx,sy);
}
}
/*
if((a[x][y]&1)==0) dfs(x,y-1);
if((a[x][y]&2)==0) dfs(x-1,y);
if((a[x][y]&4)==0) dfs(x,y+1);
if((a[x][y]&8)==0) dfs(x+1,y);*/
}
int main()
{
freopen("castle.in","r",stdin);
freopen("castle.out","w",stdout);
cin>>m>>n;
for(int i=;i<=n;i++){
for(int j=;j<=m;j++)
cin>>a[i][j];
}
memset(vis,,sizeof(vis));
cnt=;
int res=;
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
if(!vis[i][j]){
++cnt;
ans=;
dfs(i,j);
res=max(res,ans);
}
}
}
cout<<cnt<<endl;
cout<<res<<endl;
string ch="";
int x,y;
res=;
for(int j=;j<=m;j++){
for(int i=n;i>=;i--){
if((a[i][j]&)){
memset(vis,,sizeof(vis));
ans=;
a[i][j]-=;
dfs(i,j);
if(ans>res){
res=ans;
x=i,y=j;
ch="";
ch="W";
}
a[i][j]+=;
}
if((a[i][j]&)){
memset(vis,,sizeof(vis));
ans=;
a[i][j]-=;
dfs(i,j);
if(ans>res){
res=ans;
x=i,y=j;
ch="";
ch="N";
}
a[i][j]+=;
}
if((a[i][j]&)){
memset(vis,,sizeof(vis));
ans=;
a[i][j]-=;
dfs(i,j);
if(ans>res){
res=ans;
x=i,y=j;
ch="";
ch="E";
}
a[i][j]+=;
}
if((a[i][j]&)){
memset(vis,,sizeof(vis));
ans=;
a[i][j]-=;
dfs(i,j);
if(ans>res){
res=ans;
x=i,y=j;
ch="";
ch="S";
}
a[i][j]+=;
}
}
}
cout<<res<<endl;
cout<<x<<" "<<y<<" "<<ch<<endl;
}

The Castle的更多相关文章

  1. Castle Core 4.0.0 alpha001发布

    时隔一年多以后Castle 项目又开始活跃,最近刚发布了Castle Core 4.0.0 的alpha版本, https://github.com/castleproject/Core/releas ...

  2. 对Castle Windsor的Resolve方法的解析时new对象的探讨

    依赖注入框架Castle Windsor从容器里解析一个实例时(也就是调用Resolve方法),是通过调用待解析对象的构造函数new一个对象并返回,那么问题是:它是调用哪个构造函数呢? 无参的构造函数 ...

  3. AOP之Castle DynamicProxy 动态代理

    这里主要介绍使用castle这个动态代理,在.net一些开源的框架里可以找到它的影子,就连微软的rchard也是使用这个进行方法拦截等可以基于这个进行方法拦截,在这个方面PostSharp算是比较好用 ...

  4. ASP.NET Core 整合Autofac和Castle实现自动AOP拦截

    前言: 除了ASP.NETCore自带的IOC容器外,我们还可以使用其他成熟的DI框架,如Autofac,StructureMap等(笔者只用过Unity,Ninject和Castle). 1.ASP ...

  5. MVC Castle依赖注入实现代码

    1.MVc 实现依赖注入 public class WindsorControllerFactory : DefaultControllerFactory { private readonly IKe ...

  6. 避免Castle Windsor引起的内存泄露

    原文地址: http://nexussharp.wordpress.com/2012/04/21/castle-windsor-avoid-memory-leaks-by-learning-the-u ...

  7. Castle中AdditionalInterfaces用法介绍

    首先见下图(图一),其中FooController是一个没有实现任何Interface的空类.需要实现的效果是:通过FooController对象调用FooService的Do方法.设置这一不常见的场 ...

  8. Castle.ActiveRecord多数据库配置

    最近使用Castle.ActiveRecord框架,网上关于多数据支持的文章很少,因此有了这篇博文的产生. 开发工具VS2015,Sql Server2008R2 新建数据库,数据初始化脚本如下: - ...

  9. Castle Windsor常用介绍以及其在ABP项目的应用介绍

    最近在研究ABP项目,有关ABP的介绍请看阳光铭睿 博客,ABP的DI和AOP框架用的是Castle Windsor下面就对Castle Windsor项目常用方法介绍和关于ABP的使用总结 1.下载 ...

  10. 基于Autofac, Castle.DynamicProxy的动态WCF解决方案(原创)

    本方案解决了下面3个主要的问题: 1.减少配置,为了避免每次新增service都需要去修改配置文件,包括服务器端跟各个客户端的. 2.能够使用函数重载,泛型函数,以及泛型类. 3.使项目能够快速地在w ...

随机推荐

  1. Oracle 12c在SQL Devolper中添加cdb和pdb连接

    Oracle 12c如果按默认流程安装的话会有一个叫orcl的cdb容器和一个叫pdborcld的pdb容器 一.连接名为orcl的cdb容器 连接名:localorcl 用户名:SYS 口令:Ora ...

  2. 洛谷——P2690 接苹果

    P2690 接苹果 题目背景 USACO 题目描述 很少有人知道奶牛爱吃苹果.农夫约翰的农场上有两棵苹果树(编号为1和2), 每一棵树上都长满了苹果.奶牛贝茜无法摘下树上的苹果,所以她只能等待苹果 从 ...

  3. unix grep命令的大致实现

    用到了strstr(a,b)函数和getline()函数,strstr(a,b)函数看是否能在字符串a中找到字符串b,若找到返回指向,若没找到返回NULL strstr实现可以看:Implement ...

  4. slf4j 搭配 log4j2 处理日志

    目录 关于 log4j 关于 slf4j 案例使用 关于 log4j Log4j + Slf4j 的使用组合最为常见,但是我们知道 Log4j 目前已经停止更新了.Apache推出了新的 Log4j2 ...

  5. 阿里云***(java应用)

    阿里云***(FQ)实战 前言 ​ 因为公司涉及国外业务,依赖于google的map服务,生产环境我们使用的是亚马逊服务器,所以访问google地图没问题,但是国内的开发.测试环境,使用的是阿里云,想 ...

  6. 33.Search in sorted Array

    /* * 33.Search in sorted Array * 2016-4-19 by Mingyang * 我自己写的代码,开始没有考虑[3,1]取1得情况,所以现在需要额外的加一个部分来 * ...

  7. IOS -- base64编码

    在iOS7以后可以用NSData自带的base64EncodedStringWithOptions进行编解码: 方法如下: - (NSString *)encodeToBase64String:(UI ...

  8. U盘容纳不了大于4G的文件比如ISO文件咋办?

    格式化U盘成NTFS格式就行了,不这么做8,16,32G Upan都容纳不下来.

  9. Solidworks工程图 如何绘制向视图,辅助视图

    先画一条垂直于视野方向的中心线   点击辅助视图,然后点选刚才的中心线即可生成向视图   对向视图的标准可以得到一些用其他方法不好标注的尺寸            

  10. HDU 1398 Square Coins(母函数或dp)

    Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...