调石板(动态规划)

跳石板

http://www.nowcoder.com/questionTerminal/4284c8f466814870bae7799a07d49ec8

超时////////////////////
#include<bits/stdc++.h>
using namespace std;
void NumYue(int N,vector<int>&v){//判断是否是约数
    for(int i=2;i<N;i++){
        if(N%i==0){
            v.push_back(i);
        }
    }
}
int main(){
    int N,M;
    cin>>N>>M;
    vector<int>dp(2*M,0);
    dp[N]=0;
    for(int i=N;i<=M;i++){
        vector<int>v;
        NumYue(i,v);
        int n=v.size();
        for(int j=0;j<n;j++){
            if(dp[i+v[j]]){
                dp[i+v[j]]=min(dp[i+v[j]],dp[i]+1);
            }else{
                dp[i+v[j]]=dp[i]+1;
            }
        }
        v.clear();
    }
    if(dp[M]==0){
        cout<<-1;
    }else{ 
        cout<<dp[M];
    }
    return 0;
}
全部评论

相关推荐

11-26 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
牛客895077908号:佬 什么双非硕啊
点赞 评论 收藏
分享
qz鹿:*** 祝他毕业就失业
点赞 评论 收藏
分享
Java抽象带篮子:难蚌,点进图片上面就是我的大头😆
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务