第二题dfs直接就过了,毕竟范围很小; 和昨天米哈游笔试的难度比一个天上一个地下。。。 贴个代码: #include <iostream> using namespace std; int value[101] = {}; int dist[101] = {}; int n, m, times; int maxnum = 0; void dfs(int nowdist, int lefttime,int laststep,int totalvalue) { if (lefttime == 0) { if (totalvalue > maxnum)maxnum = totalvalue; return; } if (laststep == n || (dist[laststep + 1] - dist[laststep]) > m) { if (totalvalue > maxnum)maxnum = totalvalue; return; } for (int i = laststep + 1; i <= n && (dist[i] - dist[laststep]) <= m; i++) { dfs(dist[i], lefttime - 1, i, totalvalue + value[i]); } return; } int main() { cin >> n >> m >> times; for (int i = 1; i <= n; i++) { cin >> dist[i] >> value[i]; } if (n == 1 ) { cout << value[1]; return 0; } if (n == 0) { cout << 0; return 0; } dfs(0,times,1,value[1]); cout << maxnum; return 0; }

相关推荐

一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
猪扒已出闸:方向不够聚焦,看不出来是想找什么方向的工作
点赞 评论 收藏
分享
牛客网
牛客企业服务