hdu 3199 动态规划

来源:互联网 发布:图案设计软件 编辑:程序博客网 时间:2024/05/18 23:16

f[0]=1;

动规方程  f[i]=min(p1*f[x1],p2*f[x2],p3*f[x3]);

这题用long long 竟然WA 


#include<cstdio>#include<iostream>using namespace std;__int64  dp[600000];__int64  Min(__int64  a,__int64  b,__int64 c){    a=min(a,b);    return a=min(a,c);}int main(){    __int64  i;    __int64 p1,p2,p3,n;    while(scanf("%I64d%I64d%I64d%I64d",&p1,&p2,&p3,&n)!=EOF) {        __int64 x1,x2,x3;        x1=x2=x3=0;        dp[0]=1;        for(i=1; i<=n; i++) {            dp[i]=Min(p1*dp[x1],p2*dp[x2],p3*dp[x3]);            if(dp[i]==dp[x1]*p1) x1++;            if(dp[i]==dp[x2]*p2) x2++;            if(dp[i]==dp[x3]*p3) x3++;        }        printf("%I64d\n",dp[n]);    }}


0 0
原创粉丝点击