牛客206826566号:hanyuelin+java开发工程师
投递用友等公司10个岗位 >
0 点赞 评论 收藏
分享
投递用友等公司10个岗位 >
0 点赞 评论 收藏
分享
NEVER妥协:欢迎骚扰,欢迎私聊,欢迎提问
投递用友等公司10个岗位 >
0 点赞 评论 收藏
分享
廾匸V:2-4-6加班。9.30-18.00 . 周六的话17.点下班,周二周四21点下班。没有加班费。加班免费吃一餐。
投递用友等公司10个岗位 >
0 点赞 评论 收藏
分享
牛客89044516号:没复习过,裸考,坦白讲三道编程应该只做对了第一个,第三道时间不够了,第二道根据上下文猜的,然后收到面试通知了(更奇葩的是因为看了招银网络的面经觉得自己过不了,我只写了简历,一个岗位都没投,就收到笔试通知了)。过几天面试官怕是要跟我干瞪眼。
投递招商银行·招银网络科技等公司10个岗位 >
0 点赞 评论 收藏
分享
2021-04-04 16:05
天津理工大学 Java 0 点赞 评论 收藏
分享
lonelypinky:第二题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;
}
投递360集团等公司10个岗位 >
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
关注他的用户也关注了: