The Castle
分析:先暴力求出联通块数和最大联通块包含多少,接着对于每个位置判断去掉其上下左右的四个位置的墙之后的最大联通块数,并且记得先选最西,然后选最南的顺序了来输出
/*
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的更多相关文章
- Castle Core 4.0.0 alpha001发布
时隔一年多以后Castle 项目又开始活跃,最近刚发布了Castle Core 4.0.0 的alpha版本, https://github.com/castleproject/Core/releas ...
- 对Castle Windsor的Resolve方法的解析时new对象的探讨
依赖注入框架Castle Windsor从容器里解析一个实例时(也就是调用Resolve方法),是通过调用待解析对象的构造函数new一个对象并返回,那么问题是:它是调用哪个构造函数呢? 无参的构造函数 ...
- AOP之Castle DynamicProxy 动态代理
这里主要介绍使用castle这个动态代理,在.net一些开源的框架里可以找到它的影子,就连微软的rchard也是使用这个进行方法拦截等可以基于这个进行方法拦截,在这个方面PostSharp算是比较好用 ...
- ASP.NET Core 整合Autofac和Castle实现自动AOP拦截
前言: 除了ASP.NETCore自带的IOC容器外,我们还可以使用其他成熟的DI框架,如Autofac,StructureMap等(笔者只用过Unity,Ninject和Castle). 1.ASP ...
- MVC Castle依赖注入实现代码
1.MVc 实现依赖注入 public class WindsorControllerFactory : DefaultControllerFactory { private readonly IKe ...
- 避免Castle Windsor引起的内存泄露
原文地址: http://nexussharp.wordpress.com/2012/04/21/castle-windsor-avoid-memory-leaks-by-learning-the-u ...
- Castle中AdditionalInterfaces用法介绍
首先见下图(图一),其中FooController是一个没有实现任何Interface的空类.需要实现的效果是:通过FooController对象调用FooService的Do方法.设置这一不常见的场 ...
- Castle.ActiveRecord多数据库配置
最近使用Castle.ActiveRecord框架,网上关于多数据支持的文章很少,因此有了这篇博文的产生. 开发工具VS2015,Sql Server2008R2 新建数据库,数据初始化脚本如下: - ...
- Castle Windsor常用介绍以及其在ABP项目的应用介绍
最近在研究ABP项目,有关ABP的介绍请看阳光铭睿 博客,ABP的DI和AOP框架用的是Castle Windsor下面就对Castle Windsor项目常用方法介绍和关于ABP的使用总结 1.下载 ...
- 基于Autofac, Castle.DynamicProxy的动态WCF解决方案(原创)
本方案解决了下面3个主要的问题: 1.减少配置,为了避免每次新增service都需要去修改配置文件,包括服务器端跟各个客户端的. 2.能够使用函数重载,泛型函数,以及泛型类. 3.使项目能够快速地在w ...
随机推荐
- HTTP请求的缓存(Cache)机制
原文地址:http://small.aiweimeng.top/index.php/archives/58.html 先来一张图: ####下面简单的来描述一下HTTP Cache机制: 当资源资源第 ...
- Ubuntu 16.04安装Mac OS 12虚拟机资源(没成功,但资源还是可以用)
整理的Mac OS 12虚拟机资源.装虚拟机基本是按这样的套路: 1.先装VM 2.破解VM使其支持Mac OS 12,这个脚本基本是全平台支持,可以看里面的教程文档. 3.用镜像安装系统. 资源: ...
- mysqldump 把数据库备份到异地的服务器
原文:http://www.open-open.com/code/view/1420121471484 这个方法可以把通过mysqldump 把本地数据库备份到远端主机, 中间数据的传输通过 ssh ...
- 社会信息化环境下的IT新战略
我们现在所处的信息化环境正在发生改变,技术已经成为影响组织的最重要的外部力量,传统的正金字塔的结构被移动互联网深深改变:员工能够更加自由的获取信息,变成更多的信息链接,这种链接不光连接人和组织,还连接 ...
- 【面试 spring】【第七篇】spring的问题
1.spring你熟悉么?两大特色 spring 主要有IOC和AOP两大特色. =========================================================== ...
- Setup and Teardown Thread Group in Jmeter
setup和teardown有点类似于每个测试用例开始和结束时要做的动作 A Thread Group is the starting point of any Jmeter Test Plan. A ...
- paddle中新增layer
Implement C++ Class The C++ class of the layer implements the initialization, forward, and backward ...
- 在chrome中屏蔽百度推荐
在chrome中屏蔽百度推荐 方法1:可以使用adblock plus来进行屏蔽: 需要将chrome的扩展程序打开为调试者模式: 下载地址:http://chromecj.com/productiv ...
- 30 分钟编写一个 Flask 应用
Flask 是一种很赞的Python web框架.它极小,简单,最棒的是它很容易学. 今天我来带你搭建你的第一个Flask web应用!和官方教程 一样,你将搭建你自己的微博客系统:Flaskr.和官 ...
- 双向队列(STL做法)
双向队列 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 想想双向链表--双向队列的定义差点儿相同,也就是说一个队列的队尾同一 ...