链接

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

 /*
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. omcat 7 的domain域名配置,Tomcat 修改JSESSIONID

    https://blog.csdn.net/catoop/article/details/64581325

  2. Paul Graham:梦寐以求的编程语言

    我的朋友曾对一位著名的操作系统专家说他想要设计一种真正优秀的编程语言.那位专家回答,这是浪费时间,优秀的语言不一定会被市场接受,很可能无人使用,因为语言的流行不取决于它本身.至少,那位专家设计的语言就 ...

  3. 如何选择 IT 技术书籍

    ★第1招:看网上评论 首先,上一些权威的图书网站,看看大伙儿的评价如何(要相信群众的眼睛是雪亮的).对于英文书籍,我一般上亚马逊网站去看看:中文书籍则上豆瓣网.这两个网站都提供星级评分,一般 > ...

  4. Codeforces 514C Watto and Mechanism(字典树)

    题目链接  Watto and Mechanism 题意  给出$n$个串(相当于字典),然后给出$m$个询问. 每个询问以字符串的形式给出,你需要改变这个字符串中的任意一个字符 (必须改变且只能改变 ...

  5. ELK之收集Nginx、Tomcat的json格式日志

    1.安装Nginx yum -y install nginx vim /etc/nginx/nginx.conf # 修改日志格式为json格式,并创建一个nginxweb的网站目录 log_form ...

  6. Oracle版本–EBS R12.1.1

    select * from v$version; Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Productio ...

  7. Nuxt.js使用lazyload

    Vue的使用方式: 1. 安装插件: npm install vue-lazyload --save-dev 2. main.js引入插件: import VueLazyLoad from 'vue- ...

  8. C语言的代码内存布局具体解释

    一个程序本质上都是由 BSS 段.data段.text段三个组成的.这种概念在当前的计算机程序设计中是非常重要的一个基本概念,并且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统执行时的内存大小分配, ...

  9. 哈理工2015 暑假训练赛 zoj 2976 Light Bulbs

    MS    Memory Limit:65536KB    64bit IO Format:%lld & %llu SubmitStatusid=14946">Practice ...

  10. linux操作系统下查看某rpm包是32bit 还是x64bit的命令

    [root@hosta ~]# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep l ...