Tyvj P1813 [JSOI2008]海战训练
描述
但不幸的是因为种种原因,海军部仅有很少的几位军官能指挥大型海战。因此,他们考虑培养一些新的海军指挥官,为此选择了“海战”这一游戏来帮助训练。
在这个著名的游戏中,一个方形的盘上放置了固定数量和形状的船只,每只船却不能碰到其它的船。在这个题中,我们仅考虑船是方形的,所有的船只都是由图形组成的方形。编写程序求出该棋盘上放置的船只的总数。
输入格式
输出格式
测试样例1
输入
6 8
.....#.#
##.....#
##.....#
.......#
#......#
#..#...#
输出
There are 5 ships.
备注
var
i,j,k,l,m,n,tt:longint;
a,b,dow,up,lef,rig:array[..,..] of longint;
c1:char;
procedure OrzPhile;
begin
writeln('Bad placement.');
halt;
end;
begin
readln(n,m);
for i:= to n do
begin
for j:= to m do
begin
read(c1);
case c1 of
'.':a[i,j]:=;
else a[i,j]:=;
end;
end;
readln;
end;
fillchar(b,sizeof(b),);
fillchar(dow,sizeof(dow),);
fillchar(rig,sizeof(rig),);
fillchar(lef,sizeof(lef),);
for i:= to n do
for j:= to m do
begin
if a[i,j]= then lef[i,j]:=lef[i,j-]+ else lef[i,j]:=;
if a[i,j]= then up[i,j]:=up[i-,j]+ else up[i,j]:=;
end;
for i:=n downto do
for j:=m downto do
begin
if a[i,j]= then rig[i,j]:=rig[i,j+]+ else rig[i,j]:=;
if a[i,j]= then dow[i,j]:=dow[i+,j]+ else dow[i,j]:=;
end;
tt:=;
for i:= to n do
for j:= to m do
if (a[i,j]=) and (a[i-,j]=) and (a[i,j-]=) then
begin
for k:= to dow[i,j] do
begin
if lef[i+k-,j]> then OrzPhile;
if rig[i+k-,j]<>rig[i,j] then OrzPhile;
end;
for k:= to rig[i,j] do
begin
if up[i,j+k-]> then OrzPhile;
if dow[i,j+k-]<>dow[i,j] then OrzPhile;
end;
inc(tt);
end;
writeln('There are ',tt,' ships.');
end.
Tyvj P1813 [JSOI2008]海战训练的更多相关文章
- JSOI2008 火星人prefix
1014: [JSOI2008]火星人prefix Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2918 Solved: 866[Submit][ ...
- BZOJ1012: [JSOI2008]最大数maxnumber [线段树 | 单调栈+二分]
1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 8748 Solved: 3835[Submi ...
- SSD框架训练自己的数据集
SSD demo中详细介绍了如何在VOC数据集上使用SSD进行物体检测的训练和验证.本文介绍如何使用SSD实现对自己数据集的训练和验证过程,内容包括: 1 数据集的标注2 数据集的转换3 使用SSD如 ...
- 基于英特尔® 至强 E5 系列处理器的单节点 Caffe 评分和训练
原文链接 在互联网搜索引擎和医疗成像等诸多领域,深度神经网络 (DNN) 应用的重要性正在不断提升. Pradeep Dubey 在其博文中概述了英特尔® 架构机器学习愿景. 英特尔正在实现 Prad ...
- 记一周cdqz训练
#include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs.com/w ...
- 1015: [JSOI2008]星球大战starwar
1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec Memory Limit: 162 MB Description 很久以前,在一个遥远的星系,一个黑暗的帝国 ...
- 1014: [JSOI2008]火星人prefix
1014: [JSOI2008]火星人prefix Time Limit: 10 Sec Memory Limit: 162 MB Description 火星人最近研究了一种操作:求一个字串两个后缀 ...
- 语言模型kenlm的训练及使用
一.背景 近期研究了一下语言模型,同事推荐了一个比较好用的工具包kenlm,记录下使用过程. 二.使用kenlm训练 n-gram 1.工具介绍:http://kheafield.com/code/k ...
- LUA中将未分类数据分为测试集和训练集
require 'torch' require 'image' local setting = {parent_root = '/home/pxu/image'} function list_chil ...
随机推荐
- 结合swiper使用图片懒加载
本人渣渣一枚,技术一般,记录下笔记,大神勿喷,可以留下优化建议,谢谢 最近刚刚做了个展示型的网站,使用swiper搭的框架,因为图片比较多,所 以首次加载稍微有些慢,虽然压缩过了,但是尽可能的优化吧, ...
- 我的2016年终总结(PF项目框架设计心得分享 2.0rc)
在无数的日夜里,熬出了多少的黑眼圈,致勤勤恳恳工作的各位朋友与自己.每到了年末的时候总想写的什么,主要是为了回顾以往一年里到底做了什么,这便是年终总结的主要意义.在此我将要总结的是和我在技术层面上成长 ...
- MyBatis 源码分析——动态代理
MyBatis框架是如何去执行SQL语句?相信不只是你们,笔者也想要知道是如何进行的.相信有上一章的引导大家都知道SqlSession接口的作用.当然默认情况下还是使用DefaultSqlSessio ...
- iOS视频压缩处理
最近忙于项目开发, 昨天才完成整个项目的开发, 今天就抽出时间, 分享一下我在开发中所涉及到的技术问题! 由于近期开发涉及到视频, 所以视频压缩, 上传, 播放等一系列功能都是要涉及到的, 所以在此, ...
- Picasso 修改缓存路径
Picasso 是 Square 公司开源的一个非常友好的图片加载框架,使用范围也比较广泛.具体的使用这里就不做介绍了,文章主要讲讲如何修改图片的缓存路径.Picasso默认的缓存路径位于data/d ...
- 循环语句——for语句
一.for语句结构:for (初始化表达式; 循环条件表达式 ;循环后的操作表达式 ) { 执行语句: } 循环条件表达式,必须是true或false 示例: class ForDemo { publ ...
- JS - What does `void 0` mean?
语法 void expression // or void(expression) MDN的描述 能向期望一个表达式的值是 undefined 的地方插入会产生副作用的表达式.也就是为了避免产生某种副 ...
- React Native 之 网络请求
前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...
- 使用node-inspector调试nodejs程序<nodejs>
1.npm install -g node-inspector // -g 导入安装路径到环境变量 一般是c盘下AppData目录下 2.node-inspector & //启动node- ...
- Mybatis实战之自定义TypeHandler处理枚举
在Mybatis中,处理枚举类的TypeHandler有两个: EnumTypeHandler: 用于保存枚举名 EnumOrdinalTypeHandler: 用于保存枚举的序号. 在实际项目中,以 ...