当前位置:   article > 正文

大疆的一道笔试题目_大疆笔试题库

大疆笔试题库


同学笔试之后告诉我的,感觉这个题目也是动态规划问题,但是没有在笔试环境测试,所以不知道能不能全通过。

题目描述


爱玩游戏的小J,小J给每个游戏标上一个成就值,同时估算了完成这些游戏所需要的时间,现在他只有X天时间,而游戏一旦开始玩,至少需要玩一天才能够停下来,那么他玩完的游戏的成就值之和最大能达到多少呢?

输入:
第一行输入case数T,对于每个case,第一行输入游戏的数目N,总时间X。从第二行到第N+1行输入游戏的成就值Ai,所需要的时间Bi。

输出:
对每个case输出一行,成就值之和的最大值。

例如:
输入:
2
2 2
10 1
20 2
3 4
10 2
18 3
10 2

输出:
20
20
#思路

这个是一个典型的动态规划问题,利用一个与天数相同长度的矩阵代表每天能够达到的最大成就值,然后取这个矩阵的back(),就代表最后所要的X天的最大成就值,思路和上一次中兴笔试的那个动态规划感觉差不多。

#code

  

  1.    #include<iostream>
  2.     #include<vector>
  3.     #include<algorithm>
  4.     #include<map>
  5.     using namespace std;
  6.     int value(vector<pair<int,int>>&a,int day)
  7.     {
  8.         vector<int>p(day+1,0);
  9.         for (int k = 0; k<a.size();++k)
  10.         {
  11.             for(int i=day;i>=0;--i)
  12.             {
  13.                 if(a[k].second<=i)
  14.                     p[i]=max(p[i],p[i-a[k].second]+a[k].first);
  15.             }
  16.         }
  17.         return p.back();
  18.     
  19.     }
  20.     int main()
  21.     {
  22.         int num=0;
  23.         cin>>num;
  24.         vector<int>res;
  25.         while(num--)
  26.         {
  27.             int game_num=0;
  28.             cin>>game_num;
  29.             int day_num=0;
  30.             cin>>day_num;
  31.             vector<pair<int,int>>game__num;
  32.             while(game_num--)
  33.             {    
  34.                 pair<int,int> temp;
  35.                 cin>>temp.first;
  36.                 cin>>temp.second;
  37.                 game__num.push_back(temp);
  38.             }
  39.             int value_num=value(game__num,day_num);
  40.             res.push_back(value_num);
  41.         }
  42.         for(int i=0;i<res.size();++i)
  43.         {
  44.             cout<<res[i]<<endl;
  45.         }
  46.         system("pause");
  47.         return 0;
  48.          
  49.     }



运行结果和示例相同,但是因为没有参加笔试,所以不知道通过率会是多少。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/998535
推荐阅读
相关标签
  

闽ICP备14008679号