/*
TASK: castle
LANG: C++
SOLVE: 深搜,注意每个方向对应值。枚举去掉的墙,然后再dfs,注意墙要复原,并且dfs里要判断是否超出边界。*/
#include<cstdio>
#include<algorithm>
#include<cstring>
#define N 55
using namespace std;
int n,m;
int a[N][N];
int ans,num,cnt;
int rans,rm,d;
char dir[5]="WNES";
int v[N][N];
int dx[5]={0,-1,0,1},dy[5]={-1,0,1,0};
void dfs(int x,int y){if(!x||!y||x>n||y>m)return;if(v[x][y])return;v[x][y]=1;num++;for(int i=0;i<4;i++)if((a[x][y]&(1<<i))==0)dfs(x+dx[i],y+dy[i]);
}
int main(){freopen("castle.in","r",stdin);freopen("castle.out","w",stdout);scanf("%d%d",&m,&n);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)scanf("%d",&a[i][j]);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(!v[i][j]){num=0;cnt++;dfs(i,j);ans=max(ans,num);}for(int j=1;j<=m;j++)for(int i=n;i;i--)for(int k=0;k<4;k++)if(a[i][j]&(1<<k)){a[i][j]&=~(1<<k);num=0;memset(v,0,sizeof v);dfs(i,j);if(num>rans){rans=num;rm=i*(m+1)+j;d=k;}a[i][j]|=1<<k;}printf("%d\n%d\n%d\n%d %d %c\n",cnt,ans,rans,rm/(m+1),rm%(m+1),dir[d]);}

【USACO 2.1】The Castle相关推荐

  1. 【USACO题库】3.4.4 Raucous Rockers“破锣摇滚”乐队 题解

    [USACO题库]3.4.4 Raucous Rockers"破锣摇滚"乐队  题解 你刚刚继承了流行的"破锣摇滚"乐队录制的尚未发表的N(1 <= N ...

  2. 【USACO题库】1.2.1 Milking Cows挤牛奶

    一开始认为过不了,后来交就AC了. 1007. [USACO题库]1.2.1 Milking Cows挤牛奶 (File IO): input:milk.in output:milk.out 题目描述 ...

  3. 堆+贪心——nkoj1587【Usaco Nov07 Gold】分配防晒霜

    [Usaco Nov07 Gold]分配防晒霜 Description 奶牛们计划着去海滩上享受日光浴.为了避免皮肤被阳光灼伤,所有C(1 <= C <= 2500)头奶牛必须在出门之前在 ...

  4. 【USACO题库】1.4.2 The Clocks时钟.TJ

    标题的简介: [USACO题库]1.4.2 The Clocks--Tj https://jzoj.net/junior/#contest/show/1232/11(下文题目描述还是原地址清楚) 考虑 ...

  5. 洛谷 P2676 【USACO 07 DEC】Bookshelf B

    [题目描述] Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了.现在,只有书架的顶上还留有一点空间. 所有N(1 <= N ...

  6. 【一本通广搜】The Castle

    [题目描述] 一座城堡被分成m*n个方块(m≤50,n≤50),每个方块可有0-4堵墙(0表示无墙).下面示出了建筑平面图: 图中的加粗黑线代表墙.几个连通的方块组成房间,房间与房间之间一定是用黑线( ...

  7. 【BZOJ1572】【usaco 2009 open】工作安排job

    [问题描述] Farmer John 有太多的工作要做啊!!!!!!!!为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间. 他的工作日从0时刻开始,有1000000000个单位时间(! ...

  8. 【USACO 2012 Open】Running Laps(树状数组)

    53 奶牛赛跑 约翰有 N 头奶牛,他为这些奶牛准备了一个周长为 C 的环形跑牛场.所有奶牛从起点同时起跑, 奶牛在比赛中总是以匀速前进的,第 i 头牛的速度为 Vi.只要有一头奶牛跑完 L 圈之后, ...

  9. 【Usaco 2009 Feb】Bullcow 牡牛和牝牛

    [题目] 传送门 Description 约翰要带 n(1≤n≤100000)n(1≤n≤100000)n(1≤n≤100000) 只牛去参加集会里的展示活动,这些牛可以是牡牛,也可以是牝牛.牛们要站 ...

最新文章

  1. 在 echarts关系图动态线上添加文字_多折线堆叠图如何制作?
  2. JS实现星星评分功能实例代码(两种方法)
  3. Logtail从入门到精通(三):机器分组配置
  4. Python编写的桌面图形界面程序实现更新检测和下载安装
  5. 三级IP地址的子网划分
  6. 计算机怎么禁止远程桌面,win7怎样禁用远程桌面共享_win7系统禁用远程桌面共享的步骤-系统城...
  7. LM2596电路简析
  8. 客户关系管理系统(Customer Relationship Management)
  9. Xbox one VS. ps4
  10. Drain基于固定深度解析树
  11. 「磨金石教育学员插画作业」什么是日系插画?
  12. Xilinx zynqmp VCU使用
  13. html关于布局的说法错误的是,关于可迁移技能以下说法错误的是
  14. 一封超级牛的数据库程序员的情书表白
  15. 想要用电脑玩游戏,好的显示器必不可少!电脑显示器要怎么选?
  16. JQuery - 反向选择器
  17. 英特尔和amd学计算机,笔记本处理器intel和amd哪个好_有什么区别|性能对比-太平洋电脑网...
  18. 大数据【企业级360°全方位用户画像】业务数据调研及ETL
  19. 基于深度学习的语音识别研究-CTC理论推导(四)
  20. 【工具合集】渗透测试工具库-年度最强合辑

热门文章

  1. 命令行用pip命令安装mysql_使用pip install mysqlclient命令安装mysqlclient失败?(基于Python)...
  2. vue.config.js配置代理不生效_iMac各种代理设置方法汇总
  3. python计算器gui设计_python GUI模拟实现计算器
  4. 【企业管理】企业创造的要素
  5. ERROR: missing Change-Id in commit message footer
  6. 《系统集成项目管理工程师》必背100个知识点-83消极影响的风险的应对策略
  7. 笔记-项目范围管理-确认范围与控制范围的区别
  8. 笔记-信息化与系统集成技术-国务院关于印发新一代人工智能发展规划的通知...
  9. CentOS7中通过二进制文件与配置环境变量的方式安装Node
  10. SpringBoot中实现连接多个Redis分别读写数据