版权声明:长风原创 https://blog.csdn.net/u012846486/article/details/28011667

字数统计

Time Limit: 1000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 1221    Accepted Submission(s): 315
Problem Description
  一天,淘气的Tom不小心将水泼到了他哥哥Jerry刚完毕的作文上。原本崭新的作文纸顿时变得皱巴巴的。更糟糕的是因为水的关系,很多字都看不清了。可怜的Tom知道他闯下大祸了,等Jerry回来一定少不了一顿修理。如今Tom仅仅想知道Jerry的作文被“破坏”了多少。
  Jerry用方格纸来写作文,每行有L个格子。(图1显示的是L = 10时的一篇作文,’X’表示该格有字。该文有三个段落)。

图1

图2

  图2显示的是浸水后的作文 。‘O’表示这个位置上的文字已经被破坏。但是Tom并不知道原先哪些格子有文字,哪些没有,他唯一知道的是原文章分为M个段落,而且每一个段落另起一行,空两格开头,段落内部没有空格(注意:不论什么一行仅仅要开头的两个格子没有文字就可能是一个新段落的開始,比如图2中可能有4个段落)。
  Tom想知道至少有多少个字被破坏了,你能告诉他吗?

 

Input
  測试数据有多组。每组測试数据的第一行有三个整数:N(作文的行数1 ≤ N ≤ 10000)。L(作文纸每行的格子数10 ≤ L ≤ 100),M(原文的段落数1 ≤ M ≤ 20),用空格分开。
  接下来是一个N × L的位矩阵(Aij)(相邻两个数由空格分开),表示被破坏后的作文。当中Aij取0时表示第i行第j列没有文字(或者是看不清了),取1时表示有文字。

你能够假定:每行至少有一个1,而且全部数据都是合法的。

 

Output
  对于每组測试输出一行,一个整数,表示至少有多少文字被破坏。

 

Sample Input

10 10 3
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
 

Sample Output

19

细节要注意。

#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 字数统计的更多相关文章

  1. Javascript字数统计

    字数统计功能,原理是给textarea添加onKeyup事件,事件读取textarea内容并获得长度,并赋值给统计字数的那个文本节点,这里有一点要注意的是添加onKeypress和onKeydown事 ...

  2. 工具,如何去掉百度编辑器 ueditor 元素路径、字数统计等

    去掉如下截图: 在百度编辑器 ueditor 根目录下: ueditor.config.js 文件中 搜索并将参数elementPathEnabled设置成false即可 常用功能开关如下: ,ele ...

  3. textarea还剩余字数统计

    <!DOCTYPE html><html><head> <meta charset="utf-8" /> <title> ...

  4. ios开发之--textview意见反馈页面(占位label,字数统计,提交按钮的交互设置)

    记录一个页面的功能: textview的占位符,字数统计,提交按钮的交互设置,具体效果图如下:

  5. HDU 1735 字数统计(模拟+一点点贪心的思想)

    题目戳我 字数统计 Time Limit: 1000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  6. Hexo添加字数统计、阅读时长

    统计插件 配置 NexT 主题默认已经集成了文章[字数统计].[阅读时长]统计功能,如果我们需要使用,只需要在主题配置文件 _config.yml 中打开 wordcount 统计功能即可.如下所示: ...

  7. 【百度编辑器ueditor】工具,如何去掉百度编辑器 ueditor 元素路径、字数统计等

    去掉如下截图: 在百度编辑器 ueditor 根目录下: ueditor.config.js 文件中 搜索并将参数elementPathEnabled设置成false即可 常用功能开关如下: ,ele ...

  8. textarea还剩余字数统计,支持复制粘贴的时候统计字数

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. js 实现textarea剩余字数统计

    1 针对textarea剩余字数统计 2 <div class="fankui-textarea"> 3 <span>留言:</span> &l ...

随机推荐

  1. AOP AspectJ注解

    概念: 切面(aspect):用来切插业务方法的类.连接点(joinpoint):是切面类和业务类的连接点,其实就是封装了业务方法的一些基本属性,作为通知的参数来解析.通知(advice):在切面类中 ...

  2. hdu 6430 线段树 暴力维护

    Problem E. TeaTree Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Oth ...

  3. 【Python初学者】准备

    准备着手学习Python这门久仰大名的语言.本篇随笔是学习它的准备阶段. 操作系统: Mac OS 10.11.5 下载编辑器Testwrangler 点我 第一个Python程序 在命令行中运行py ...

  4. .Net t图片生成水印

    借鉴于博客园园友的方法,大神神风(https://www.cnblogs.com/tandyshen/archive/2012/04/14/picwater.html) ,很实用的一种 自定义水印方法 ...

  5. Codeforces Round #390 (Div. 2) D. Fedor and coupons(区间最大交集+优先队列)

    http://codeforces.com/contest/754/problem/D 题意: 给定几组区间,找k组区间,使得它们的公共交集最大. 思路: 在k组区间中,它们的公共交集=k组区间中右端 ...

  6. QWebEngineView_CssVariables

    1.测试代码,参考网址:http://blog.sina.com.cn/s/blog_1508519340102wgq0.html 2.测试下来,结果: 2.1.Qt5.6开始,没有 WebKit了. ...

  7. wpf 中关于Image中样式Style的一点总结

    第一种写法: (1):定义样式 <Style x:Key="imgStyle" TargetType="Image">  : <!-- Tar ...

  8. HDU1698 线段树入门之区间修改/查询(lazy标记法)

    Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  9. DBMS_LOB的简单用法以及释放DBMS_LOB生成的临时CLOB内存

    dbms_lob包(一) dbms_lob包(二) 如何释放DBMS_LOB.CREATETEMPORARY的空间 Temporary LOB导致临时表空间暴满. oracle数据库中的大对象1——永 ...

  10. java通过文件头来判断文件类型

    import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; import java.ut ...