zoukankan      html  css  js  c++  java
  • 免费馅饼 HDU

    中文题目,题意好理解。

    题解:定义状态DP[i][j]表示第i秒在第j个位置处的最优状态,每一个点只能由相邻点转移,所以转移方程就是dp[i][j]=max({dp[i-1][j],dp[i-1][j-1],dp[i-1][j+1]})+arr[i][j],arr[i][j]表示当前状态下的物品的数目。

    code:

    #include<bits/stdc++.h>
    using namespace std;
    const int N=2000+7;
    int arr1[N];
    int arr2[N];
    int dp[N]; 
    void solve(){
        int n;
        cin>>n;
        for(int i=1;i<=n;i++) cin>>arr1[i];
        for(int i=2;i<=n;i++) cin>>arr2[i];
        dp[1]=arr1[1];
        dp[2]=min(arr2[2],arr1[1]+arr1[2]);
        for(int i=3;i<=n;i++) dp[i]=min(dp[i-1]+arr1[i],dp[i-2]+arr2[i]);
        int sec=dp[n]%60;
        dp[n]-=sec;
        int cnt=dp[n]/60;
        int minute=cnt%60;
        cnt-=minute;
        int h=cnt/60;
        h+=8; 
        if(h<10) printf("0%d",h);
        else printf("%d",h);
        printf(":");
        if(minute<10)  printf("0%d",minute);
        else printf("%d",minute);
        printf(":");
        if(sec<10) printf("0%d",sec);
        else printf("%d",sec);
        if(h<12) printf(" am
    ");
        else printf(" pm
    ");
    } 
    int main(){
        int t;
        scanf("%d",&t);
        while(t--) solve();
        return 0;
    }
  • 相关阅读:
    (转)iOS7界面设计规范(2)
    (转)iOS7界面设计规范(1)
    (转)iOS7人机界面设计规范
    (转)iOS Wow体验
    (转)iOS Wow体验
    (转)iOS Wow体验
    (转)iOS Wow体验
    bzoj1044木棍分割
    bzoj1690开关灯
    终于开了blog了。。
  • 原文地址:https://www.cnblogs.com/Accepting/p/12995410.html
Copyright © 2011-2022 走看看