zzuli 1430 多少个0

https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1430

1430: 多少个0

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 322  Solved: 82

SubmitStatusWeb Board

Description

一个n*n的方格,每个格子中间有一个数字是2或者5,现在从方格的左上角走到右下角,每次只能选择向下或者向右移动一格两种移动方式,让所有经过的格子中的数字相乘,求使最后的结果中末尾处0的数字最少。

Input

第一行是一个正整数n(0<n<100)。

接下来n行是一个n*n的矩阵。

Output

一个正整数m,表示最后的结果末尾处最少有m个0。

Sample Input

4
2 5 2 5
5 2 5 2
2 5 5 5
2 2 2 2

Sample Output

1

欸一开始都没看完题就开始bfs真是醉了,后来写了个dp一直WA,自己写的数据都能过,后来看题解说格子数固定的恍然大悟!

本来就是想两个dp出2,5的最大个数,但是苦于不知道如何计算一共走个几个格子无法下手,看完之后发现是啊,题目说了只能向下或者向右走,

从左上角到右下角的话必然横着走n个竖着走n个经过的格子就是(n*2-1)个,这样就好办了!

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define CIN(a) scanf("%d",&a)
#define COUT(a) printf("%d\n",a)
#define ql(a) memset(a,0,sizeof(a))
#define FOR(i,a,b) for(i=a;i<=b;++i)
int main()
{
int dp5[105][105],dp2[105][105],e[105][105];
int n,m,i,j,maxn;
while(CIN(n)!=EOF){ql(dp2),ql(dp5);
maxn=0;int k1,k2;
FOR(i,1,n)
   FOR(j,1,n) CIN(e[i][j]);
FOR(i,1,n)
    FOR(j,1,n){int c=0;
if(e[i][j]==2) ++c;
dp2[i][j]=max(dp2[i-1][j],dp2[i][j-1])+c;
}k1=min(dp2[n][n],n*2-1-dp2[n][n]);
FOR(i,1,n)
    FOR(j,1,n){int c=0;
if(e[i][j]==5) ++c;
dp5[i][j]=max(dp5[i-1][j],dp5[i][j-1])+c;
}k2=min(dp5[n][n],n*2-1-dp5[n][n]);
     COUT(min(k1,k2));
}
return 0;
}

时间: 2024-11-07 14:27:07

zzuli 1430 多少个0的相关文章

WPF内部DeliverEvent读锁和PrivateAddListener写锁导致死锁

?? 准备工作 1.对失去响应进程创建转储文件 2.配置该进程的pdb文件 3.复制该进程所在机器的系统dll(sos.dll, clr.dll, mscordacwks.dll) 4.配置系统dll的pdb文件路径, 或者直接从msdl.microsoft/download/symbols下载(注意端口是否被封) 分析过程: 1.利用~*e !clrstack 得到UI线程的ID 为12 2.利用~12e !clrstack -p 得到堆栈信息及函数参数值 3.从中发现先申请写锁, 后申请读锁

CK竞技之王武器插件-练手版

Weapon.inc 1 new const m_flNextAttack = 83 2 new const m_flVelocityModifier = 108 3 new const m_iTeam = 114 4 new const m_iAccount = 115 5 new const m_iWeaponVolume = 239 6 new const m_pActiveItem = 373 7 new const m_rgpPlayerItems[] = { 367, 368, 36

在64位linux下安装32位oracle软件

在某些情况下,有时我们需要在64位的系统下来安装32的oracle软件(如,客户的变态要求).虽然在理论上,这种方式是可行的,但在实际的安装过程中确往往是错误百出,为了避免不必要的错误,也为了方便以后的工作查找,记录安装过程. 本示例以redhat4--64位操作系统,oracle 10g为数据库,安装过程中,仅仅使用了最小的安装包,以便尽可能多的发现问题.由于问题主要出现在软件包的安装和兼容性上,安装过程的其他方面不过多涉及. 首先,配置yum使用本地光盘作为源,并配置同时安装32位和64位的

Chrome内置的断网Javascript 小游戏脚本示范

//示范面向对象 this 作用域 闭包 单例模式很好的示范 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 (function () { 5 'use strict'; 6 /** 7 * T

Linux系统资源查看

以下Linux系统资源查看命令中,较常用的为vmstat 与 lsof vmstat [刷新延时 刷新次数] 1 [email protected]606:~$ vmstat 1 5 2 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- 3 r b 交换 空闲 缓冲 缓存 si so bi bo in cs us sy id wa st 4 0 0 0 4721680 294340 1

郑轻第六届校赛 -- 部分题解

1427: 数字转换 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 379  Solved: 93 SubmitStatusWeb Board Description 老师交给小明一个任务,有两个数字x和y(x<y),通过以下两种操作:一.将x乘以2:二.将x的值加上1.小明希望能通过尽可能少的操作来完成这个任务,但是不知道怎么做,现在请大家来帮帮他的忙吧. Input 两个整数x,y(0<=x<y<=10^6). Output 一

基于卷积神经网络CNN的电影推荐系统

本项目使用文本卷积神经网络,并使用MovieLens数据集完成电影推荐的任务. 推荐系统在日常的网络应用中无处不在,比如网上购物.网上买书.新闻app.社交网络.音乐网站.电影网站等等等等,有人的地方就有推荐.根据个人的喜好,相同喜好人群的习惯等信息进行个性化的内容推荐.比如打开新闻类的app,因为有了个性化的内容,每个人看到的新闻首页都是不一样的. 这当然是很有用的,在信息爆炸的今天,获取信息的途径和方式多种多样,人们花费时间最多的不再是去哪获取信息,而是要在众多的信息中寻找自己感兴趣的,这就

鬃嘴释怀说太多就成真不了。

子阻撞砖奏尊仔籽着 释怀说太多就成真不了. http://passport.baidu.com/?business&un=vip&un=%E5%A4%A9%E6%B0%B4%E4%B8%8A%E9%97%A8%E8%BF%99%E5%B0%8F%E5%A7%90#0 http://passport.baidu.com/?business&un=vip&un=%E7%99%BD%E9%93%B6%E4%B8%8A%E9%97%A8%E8%BF%99%E5%B0%8F%E5%A

澜星粘鼐贩逊耐盼系甭妊倏纪傲傲sdfghjk

http://passport.baidu.com/?business&un=R&un=%E5%A4%A7%E5%AE%81%E6%A1%91%E6%8B%BF%E9%80%9A%E5%B0%8F%E5%A7%90#0 http://passport.baidu.com/?business&un=R&un=%E4%B9%A1%E5%AE%81%E6%A1%91%E6%8B%BF%E9%80%9A%E5%B0%8F%E5%A7%90#0 http://passport.bai