HDU1735 字数统计
版权声明:长风原创 https://blog.csdn.net/u012846486/article/details/28011667
字数统计
Jerry用方格纸来写作文,每行有L个格子。(图1显示的是L = 10时的一篇作文,’X’表示该格有字。该文有三个段落)。

图1

图2
图2显示的是浸水后的作文 。‘O’表示这个位置上的文字已经被破坏。但是Tom并不知道原先哪些格子有文字,哪些没有,他唯一知道的是原文章分为M个段落,而且每一个段落另起一行,空两格开头,段落内部没有空格(注意:不论什么一行仅仅要开头的两个格子没有文字就可能是一个新段落的開始,比如图2中可能有4个段落)。
Tom想知道至少有多少个字被破坏了,你能告诉他吗?
接下来是一个N × L的位矩阵(Aij)(相邻两个数由空格分开),表示被破坏后的作文。当中Aij取0时表示第i行第j列没有文字(或者是看不清了),取1时表示有文字。
你能够假定:每行至少有一个1,而且全部数据都是合法的。
0 0 0 1 1 1 0 1 1 0
1 1 0 0 0 1 1 1 0 0
0 0 1 1 0 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 0 1 0 1 1 1 0 0 0
1 1 0 0 1 1 1 1 1 1
1 1 1 1 1 1 1 0 0 0
0 0 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 1 0
细节要注意。
#include <stdio.h>
#include <algorithm>
using std::sort;
int N, L, M, arr[10002][102], ans, id;
struct Node{
int num, pre;
} pra[10002];
int getPre(int i){
if(--i == 0) return 0;
int j = L;
while(arr[i][j] == 0) --j;
return L - j;
}
void addPre(int i){
if(--i == 0) return;
int j = L;
while(arr[i][j] == 0){
++ans;
arr[i][j] = 1;
--j;
}
}
bool cmp(Node a, Node b){
return a.pre < b.pre;
}
int main(){
int left, right;
while(scanf("%d%d%d", &N, &L, &M) == 3){
id = ans = 0; --M;
for(int i = 1; i <= N; ++i){
left = L; right = 1;
for(int j = 1; j <= L; ++j){
scanf("%d", &arr[i][j]);
if(arr[i][j]){
if(j < left) left = j;
if(j > right) right = j;
}
}
if(left > 2){
for(int j = 3; j <= right; ++j){
if(arr[i][j] == 0) ++ans, arr[i][j] = 1;
}
if(i != 1){
pra[id].num = i;
pra[id++].pre = getPre(i);
}
}else{
addPre(i);
for(int j = 1; j <= right; ++j){
if(arr[i][j] == 0) ++ans, arr[i][j] = 1;
}
}
}
sort(pra, pra + id, cmp);
id = id - M; //须要合并的段落数
for(int i = 0; i < id; ++i)
ans += pra[i].pre + 2;
printf("%d\n", ans);
}
return 0;
}HDU1735 字数统计的更多相关文章
- Javascript字数统计
字数统计功能,原理是给textarea添加onKeyup事件,事件读取textarea内容并获得长度,并赋值给统计字数的那个文本节点,这里有一点要注意的是添加onKeypress和onKeydown事 ...
- 工具,如何去掉百度编辑器 ueditor 元素路径、字数统计等
去掉如下截图: 在百度编辑器 ueditor 根目录下: ueditor.config.js 文件中 搜索并将参数elementPathEnabled设置成false即可 常用功能开关如下: ,ele ...
- textarea还剩余字数统计
<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title> ...
- ios开发之--textview意见反馈页面(占位label,字数统计,提交按钮的交互设置)
记录一个页面的功能: textview的占位符,字数统计,提交按钮的交互设置,具体效果图如下:
- HDU 1735 字数统计(模拟+一点点贪心的思想)
题目戳我 字数统计 Time Limit: 1000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- Hexo添加字数统计、阅读时长
统计插件 配置 NexT 主题默认已经集成了文章[字数统计].[阅读时长]统计功能,如果我们需要使用,只需要在主题配置文件 _config.yml 中打开 wordcount 统计功能即可.如下所示: ...
- 【百度编辑器ueditor】工具,如何去掉百度编辑器 ueditor 元素路径、字数统计等
去掉如下截图: 在百度编辑器 ueditor 根目录下: ueditor.config.js 文件中 搜索并将参数elementPathEnabled设置成false即可 常用功能开关如下: ,ele ...
- textarea还剩余字数统计,支持复制粘贴的时候统计字数
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- js 实现textarea剩余字数统计
1 针对textarea剩余字数统计 2 <div class="fankui-textarea"> 3 <span>留言:</span> &l ...
随机推荐
- Java 动态代理是基于什么原理
动态代理 ①动态代理概念理解 动态代理是一种方便运行时动态构建代理.动态处理代理方法调用的机制,很多场景都利用类似机制做到的,比如用来包装RPC调用.面向切面的变成(AOP) 实现动态代理的方式很多, ...
- BootStrap一页通(样式+组件+插件)
bootstrap是一种前端框架,实现美观的页面效果.使用BootStrap的前期工作(注意顺序): <!DOCTYPT html>:因为Bootstrap用到了h5的特性,所以需要此步. ...
- [one day one question] iphone6 plus h5页面滑动莫名卡
问题描述: iphone6 plus h5页面滑动莫名卡,这怎么破? 解决方案: 比较奇葩的问题,在找不到任何问题的情况下,可以考虑在下发现的解决方案,html,body未添加height: 100% ...
- maven nexus私服搭建
1. 下载 wget http://download.sonatype.com/nexus/oss/nexus-2.12.0-01-bundle.tar.gz 2. 解压 tar zxvf nexus ...
- Makefile解析(最简单的LED)
①led_sp.bin: start.o led.o #led_sp.bin是由 start.o 和 led.o 生成 ②arm-linux-ld -Ttext 0x0 -o led_sp.elf $ ...
- Java Mail 邮件发送简单封装
上一篇文章我们用写了一个Java Mail 的Demo,相信你已经可以用那个例子来发送邮件了.但是Demo 有很多的问题. 首先每次发送需要配置的东西很多,包括发件人的邮箱和密码.smtp服务器和SM ...
- 什么是TensorFlow Serving
答:1. 从Serving 可以看出,与服务有关; 2. 那么为啥还有TensorFlow的前缀?肯定与TensorFlow有着很大的关系: 3. 那么Tensorflow是用来干什么的呢?Tenso ...
- Net Quartz使用
安装Quartz 已经先安装了2.5版本,现在换成2.4 程序包管理器控制台: PM> Install-Package Quartz -Version 2.4 正在尝试收集与目标为“.NETFr ...
- Codeforces Round #394 (Div. 2) C.Dasha and Password(暴力)
http://codeforces.com/contest/761/problem/C 题意:给出n个串,每个串的初始光标都位于0(列)处,怎样移动光标能够在凑出密码(每个串的光标位置表示一个密码的字 ...
- 在多节点上运行分布式Intel Caffe
一般有2种并行模式:数据并行(Data parallelism)和模型并行(model parallelism). 在模型并行化( model parallelism )方法里,分布式系统中的不同机器 ...