HIHOCODE #1241:Best Route in a Grid
来源:互联网 发布:小浪底水利枢纽知乎 编辑:程序博客网 时间:2024/06/01 07:39
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
给定一个N行N列的非负整数方阵,从左上角(1,1)出发,只能向下或向右走,且不能到达值为0的方格,求出一条到达右下角的最佳路径。所谓最佳路径是指途经的数的乘积的末尾连续的0最少。
输入
输入文件的第一行包含一个整数N,其中1≤N≤1000。
接下来的N行每行包含N个非负整数,其中每个数小于等于1,000,000。
数据保证至少存在一条不全为0的路径。最佳路径是指途经的数的乘积的末尾连续的0最少
输出
输出文件仅一行,包含一个整数,表示要求的最佳路径上所有数字乘积的末尾连续零的个数。
41 3 0 00 8 2 256 5 0 30 15 7 4
2
根据上述的关系式,则可以完成代码的编写。
AC代码如下:
#include<iostream>#include<math.h>#include<cstring>#include<algorithm>using namespace std;int mod5(int data);int mod2(int data);int p[1010][1010]={0};int dp[1010][1010]={0};int w[1010][1010]={0}; int main(){int N;cin>>N;for(int i=1;i<=N;i++){for(int j=1;j<=N;j++){cin>>p[i][j];if (p[i][j]==0)w[i][j]=1e5;}}memset(dp,0x3f,sizeof dp);dp[1][0]=0;for(int i=1;i<=N;i++){for(int j=1;j<=N;j++){if(p[i][j]!=0){w[i][j]=mod2(p[i][j]);}dp[i][j]=min(dp[i][j],min(dp[i][j-1],dp[i-1][j])+w[i][j]);}}int ans=dp[N][N];memset(dp,0x3f,sizeof dp);dp[1][0]=0;for(int i=1;i<=N;i++){for(int j=1;j<=N;j++){if(p[i][j]!=0){w[i][j]=mod5(p[i][j]);}dp[i][j]=min(dp[i][j],min(dp[i][j-1],dp[i-1][j])+w[i][j]);}}cout<<min(dp[N][N],ans)<<endl;return 0;}int mod2(int data){int k=data;int mod2=0;while(k%2==0){mod2++;k=k/2; }return mod2;}int mod5(int data){int k=data;int mod5=0;while(k%5==0){mod5++;k=k/5; }return mod5;}
0 0
- HIHOCODE #1241:Best Route in a Grid
- hihocoder 1241:Best Route in a Grid
- hihoCoder 1241 Best Route in a Grid
- Best Route in a Grid
- hihocoder#1241 : Best Route in a Grid(DP)
- hihocoder1241 : Best Route in a Grid
- hihoCoder挑战赛15 Best Route in a Grid
- hiho #1241 : Best Route in a Grid 【dp 求解质因子2和5的最少匹配个数】
- 8.2 Robot in a Grid
- Rails add a search function controller and route best practice
- Add a static route item in OSX
- hihocode #1385 : A Simple Job
- hdoj_Choose the best route
- hdu2680Choose the best route
- HDU2680Choose the best route
- Choose the best route
- Choose the best route
- Choose the best route
- iOS UICollectionViewController基本使用方法和简单的相册实现
- Exception和throwable
- 获取Form.ShowDialog() 出的窗体中textbox的返回值
- MySQL主从复制与读写分离的实现
- tornado-业务流程
- HIHOCODE #1241:Best Route in a Grid
- ufldl.PCA-2D实现
- 修改对话框左上角的标题用SetWindowText(L“对话框的标题")即可
- C++常见几种输出方法评测(int && long long)
- ajax转递数组,springmvc后端接收
- 零基础学APICloud:第一讲 Hello World!
- Java反射机制
- Input.GetButtonDown没有正确响应
- JS金额小写转大写