hdu 1260——Tickets
2015-04-04 16:05
302 查看
题意:买票可以两个人一起买,也可以一个人买。问买票最短的时间。
思路:动态规划方程:dp[i]=min(dp[i-1]+single[i],dp[i-2]+single[i-1]),第一项是单独买的时间,第二项是一起买的时间。取两项最小值
代码:
思路:动态规划方程:dp[i]=min(dp[i-1]+single[i],dp[i-2]+single[i-1]),第一项是单独买的时间,第二项是一起买的时间。取两项最小值
代码:
[code]#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int dp[2005]; int each[2005]; int adj[2005]; int n; const int maxn=500000; int main() { // freopen("data.txt","r",stdin); int T; scanf("%d",&T); while(T--){ scanf("%d",&n); for(int i=1;i<=n;++i){ scanf("%d",&each[i]); dp[i]=maxn; } for(int i=1;i<=n-1;++i){ scanf("%d",&adj[i]); } dp[0]=0; dp[1]=each[1]; for(int i=2;i<=n;++i){ dp[i]=min(dp[i],dp[i-1]+each[i]); dp[i]=min(dp[i],dp[i-2]+adj[i-1]); } int hh=dp /3600; dp -=hh*3600; int mm=dp /60; int ss=dp -mm*60; hh+=8; bool am=hh>12?0:1; if(!am)hh-=12; printf("%02d:%02d:%02d %s\n",hh,mm,ss,am?"am":"pm"); } return 0; }
相关文章推荐
- HDU 1260 —— Tickets
- hdu 1260 Tickets
- HDU1260 Tickets(简单dp)
- hdu 1260 Tickets(DP)
- hdu 1260 Tickets
- HDU 1260 Tickets(DP)
- [hdu 1260] Tickets [DP]
- HDU 1260 Tickets——DP
- HDU - 1260 Tickets
- hdu 1260 Tickets(DP)
- HDU - 1260----Tickets
- HDU 1260 Tickets
- HDU-1260-Tickets【DP】
- hdu 1260 Tickets
- HDU 1260 Tickets(简单DP)
- [HDU 1260] Tickets
- HDU 1260 Tickets
- HDU 1260 Tickets 简单DP
- hdu 1260 Tickets 动态规划
- hdu 1260 Tickets(DP)