题意/Description:

给定一个N*M的矩阵,记录左上角为(1,1),右下角为(N,M),现在从(1,1)开始取数,每次只能向下或向右移动一个单位,最终到达(N,M),我们把路径上所有的数相乘,记为C。使C的结果最大已经不能满足我们了,现在我们想让C末尾的零最少。
  Ps.11000末尾有3个零,100000100末尾有2个零。

读入/Input:

输入文件matrix.in的第一行包含两个正整数N,M表示矩阵大小。
  接下来N行每行M个正整数给出整个矩阵。

输出/Output:

输出文件名为matrix.out。包含一个整数表示所求最小值。

题解/solution:

将矩阵的各个格子分解为,用矩阵A表示各个格子有多少个因数2,用矩阵B表示各个格子有多少个因数5。最后枚举一遍两个矩阵,得出从左上角到右下角经过最少的2和5。最后判断哪个小即可。

代码/Code:

varn,m,numa,numb:longint;a,b,ab:array [0..1001,0..1001] of longint;
procedure init;
vari,j,t,k:longint;
beginreadln(n,m);for i:=1 to n dofor j:=1 to m dobeginread(t);k:=t;while t mod 2=0 dobegint:=t div 2;inc(a[i,j]);end;while k mod 5=0 dobegink:=k div 5;inc(b[i,j]);end;end;numa:=maxlongint;numb:=maxlongint;
end;function min(o,p:longint):longint;
beginif o<p then exit(o);exit(p);
end;procedure main;
vari,j:longint;
beginfor i:=1 to n dofor j:=1 to m doif i=1 then ab[i,j]:=ab[i,j-1]+a[i,j] elseif j=1 then ab[i,j]:=ab[i-1,j]+a[i,j] elseab[i,j]:=min(ab[i-1,j],ab[i,j-1])+a[i,j];numa:=ab[n,m];fillchar(ab,sizeof(ab),0);for i:=1 to n dofor j:=1 to m doif i=1 then ab[i,j]:=ab[i,j-1]+b[i,j] elseif j=1 then ab[i,j]:=ab[i-1,j]+b[i,j] elseab[i,j]:=min(ab[i-1,j],ab[i,j-1])+b[i,j];numb:=ab[n,m];write(min(numa,numb));
end;begininit;main;
end.

转载于:https://www.cnblogs.com/zyx-crying/p/9319620.html

方格取数 (Standard IO)相关推荐

  1. XTU 二分图和网络流 练习题 C. 方格取数(1)

    C. 方格取数(1) Time Limit: 5000ms Memory Limit: 32768KB 64-bit integer IO format: %I64d      Java class ...

  2. 最小割 ---- 二分图最大独立集(集合冲突模型) ---- 骑士共存 方格取数(网络流24题)

    二分图独立集 定理: 二分图最大独立集=n - 二分图最大匹配 其实二分图独立集是特殊的一种最大权闭合子图.我们根据上文"收益"的思想,把选某个点的收益看为1,左部节点为正权点,右 ...

  3. 【网络流24题】I、 方格取数问题(二分图的最大独立集/最小割)

    I. 方格取数问题(二分图的最大独立集/最小割) [问题分析] 二分图点权最大独立集,转化为最小割模型,从而用最大流解决. [建模方法] 首先把棋盘黑白染色,使相邻格子颜色不同,所有黑色格子看做二分图 ...

  4. P2774 方格取数问题 网络最大流 割

    P2774 方格取数问题:https://www.luogu.org/problemnew/show/P2774 题意: 给定一个矩阵,取出不相邻的数字,使得数字的和最大. 思路: 可以把方格分成两个 ...

  5. hdu2167 方格取数 状态压缩dp

    题意:      方格取数,八个方向的限制. 思路:      八个方向的不能用最大流了,四个的可以,八个的不能抽象成二分图,所以目测只能用dp来跑,dp[i][j]表示的是第i行j状态的最优,具体看 ...

  6. hdu 1565 方格取数(1)(状态压缩dp)

    方格取数(1)                                                                 Time Limit: 10000/5000 MS (J ...

  7. [codevs 1907] 方格取数3

    [codevs 1907] 方格取数3 题解: 二分图染色.最大点权独立集. 因为要用到最大独立集的一些思路,故先写了一篇最大独立集的题解:http://blog.csdn.net/qq_211102 ...

  8. [codevs 1227] 方格取数2

    [codevs 1227] 方格取数 2 题解: 注:这是CODEVS的方格取数2,走k次的版本. 因为每个格子可以走无数次,但走过一次之后数字就变成了0,也就是只有一次可以加上格子里的数字.所以要拆 ...

  9. HDU-1569 方格取数(2) 最小割最大流

    题义很简单,还记得方格取数(1)的时候,使用状态压缩写的,这里由于行列数太大,因此无法进行压缩.所以要运用的最小割最大流的思想来解这道题. 大概是这样分析的,题义是要我们求在一个方格内取出N个点,使得 ...

最新文章

  1. 第十课.蒙特卡洛方法与随机过程
  2. 导出全部记录到excel
  3. python templates_python templates在哪
  4. c++ 在multimap中查找关键字的程序举例
  5. c构造函数和析构函数_C ++构造函数和析构函数| 查找输出程序| 套装3
  6. 因担心5G电磁辐射 这个地方的居民试图阻止5G基站扩张
  7. 尝试安装pg gem时找不到#39;libpq-fe.h标头
  8. get请求是否 csrf认证流程_CORS和CSRF修炼宝典
  9. paip.提升用户体验之全角半角
  10. matlab 试验设计,试验设计与MATLAB数据分析
  11. JavaScript简单入门教程学习篇
  12. 模拟医院信息管理系统
  13. 深度学习在摄影技术中的应用与发展
  14. 长城脚下公社之凯宾斯基开业典礼
  15. oracle sql查数据是否有重复
  16. 自动解题批改与自适应学习 AI在教育行业的应用实践
  17. redis 空格问题
  18. Netty handler无法进行依赖注入的问题
  19. iOS ideviceinstaller安装ipa报错zip_open
  20. Python数据采集案例(1):微博热搜榜采集

热门文章

  1. redis 缓存 淘汰
  2. Python MetaClass
  3. TensorFlow tf.keras.losses.CategoricalHinge
  4. Java Servlet cookie
  5. requests与bs4编码
  6. tp5写的系统比php源码写的慢多少,基于TP5框架开发的极速企业网站开发框架PHP源码...
  7. VMware vSAN 技术详解 | 资料
  8. 根据IDC的数据,全球融合系统市场在2019年第四季度同比增长1.1%
  9. Spring MVC学习总结(6)——一些Spring MVC的使用技巧
  10. 乌班图mysql8.0安装第一次手工启动_Ubuntu Server 16.04下mysql8.0安装配置图文教程