hdu 1260 dp

  1. #include <stdio.h>
  2. #include <string>
  3. #include <iostream>
  4. #include <set>
  5. #include <math.h>
  6. #include <stdlib.h>
  7. #include <algorithm>
  8. using namespace std;
  9. int num[2010];
  10. int two[2010];
  11. int dp[2010];
  12. int main()
  13. {
  14. //freopen("read.txt", "r", stdin);
  15. int T;
  16. cin >> T;
  17. while(T--)
  18. {
  19. memset(num, 0 , sizeof(num));
  20. memset(dp, 0 , sizeof(dp));
  21. memset(two, false , sizeof(two));
  22. int n;
  23. scanf("%d", &n);
  24. for(int i=1; i<=n; i++)
  25. scanf("%d", &num[i]);
  26. for(int i=1; i<=n-1; i++)
  27. {
  28. scanf("%d", &two[i]);
  29. }
  30. dp[1] = num[1];
  31. for(int i=2; i<=n; i++)
  32. {
  33. dp[i] = min(dp[i-1]+ num[i], dp[i-2] + two[i-1]);
  34. }
  35. int s=dp[n] %60;
  36. int m=dp[n]/60%60;
  37. int h =8 + dp[n-1] /3600;
  38. char c1, c2;
  39. if(h<12 || (h==12 && s==m && s==0) )
  40. {
  41. c1='a';
  42. c2='m';
  43. }
  44. else
  45. {
  46. if(h!=12)
  47. h%=12;
  48. c1='p';
  49. c2='m';
  50. }
  51. printf("%02d:%02d:%02d %c%c\n",h,m,s,c1,c2);
  52. }
  53. return 0;
  54. }





附件列表

     

    posted @ 2015-01-29 15:26  sober_reflection  阅读(187)  评论(0编辑  收藏  举报