戳我穿越:http://acm.hdu.edu.cn/showproblem.php?pid=1735

对于贪心,二分,枚举等基础一定要掌握的很牢,要一步一个脚印走踏实

这是道贪心的题目,要有贪心的意识。

首先将所有为0的地方统计,因为是求最小的字数,所有最后一行后面的0可以看为空格直接减掉,

因为有m段(一定包括第一行),再减去m*2,最后枚举每行,将至少前两个为0的上一行的最后有多少

的0统计起来排序,再依次减去前m-1个大的,这样就保证了得到的答案是符合条件中最小的

code

 #include<cstdio>
#include<algorithm>
using namespace std;
int yj[][],lsy[];
bool cmp(int x,int y){return x>y;}
int main()
{
int n,m,x,sum,ans,i,j,k,flag;
while (~scanf("%d %d %d",&n,&m,&x))
{
sum=;
for (i=;i<=n;i++)
{
for (j=;j<=m;j++)
{
scanf("%d",&yj[i][j]);
if (!yj[i][j])
sum++;
}
}
//printf("%d\n",sum);
for (i=m;i>=;i--)
{
if (!yj[n][i]) sum--;
else break;
}
//printf("%d\n",sum);
k=;
for (i=;i<=n;i++)
{
ans=;flag=;
if (!yj[i][]&&!yj[i][])
{
flag=;
for (j=m;j>=;j--)
{
if (!yj[i-][j])
ans++;
else
break;
}
}
if (flag)
lsy[k++]=ans;
}
sum-=*x;x--;
/*for (i=1;i<k;i++)
printf("%d ",lsy[i]);
printf("\n");*/
sort(lsy+,lsy+k,cmp);
for (i=;i<=x;i++)
sum-=lsy[i];
printf("%d\n",sum);
}
return ;
}

最新文章

  1. CSS 页面顶部阴影和给浏览器强制加上滚动条
  2. 移动端手势库hammerJS 2.0.4官方文档翻译
  3. Linux CentOS 6.6安装JDK1.7
  4. (转)sscanf() - 从一个字符串中读进与指定格式相符的数据
  5. 15款增强web体验的Javascript库
  6. Java NIO教程 Channel
  7. [CLR via C#]26. 计算限制的异步操作
  8. 用js实现返回上一页
  9. apimonitor
  10. 1030. Travel Plan (30)
  11. Swift和OC相互调
  12. shell中的内建命令, 函数和外部命令
  13. 64位Win7下安装并配置Python3的深度学习库:Theano
  14. Django1-10-5管理界面中文设置
  15. niagara Workbench module import IntelliJ
  16. (转)MFC界面风格
  17. Thread.Sleep(0)妙用
  18. h5语音录制及上传(Java版语音聊天系统)
  19. CentOS工作内容(一)CentOS6.4的安装 hwclock和date
  20. 【Spring学习笔记-MVC-12】Spring MVC视图解析器之ResourceBundleViewResolver

热门文章

  1. HDFS中的集中缓存管理详解
  2. Zabbix监控系统配置
  3. 使用qt creator4.XXX,b编辑和调试caffe,太好用了
  4. 使用RestTemplate调用接口上传文件
  5. 游戏AI技术
  6. 项目没有build path问题(转)
  7. CSS:opacity:0,visibility:hidden,display:none的区别
  8. 求组合数的O(n^2)和O(n)解法及模板
  9. centos 6 KVM 网卡桥接配置
  10. STL-queue和循环队列基本操作的实现