大疆笔试0804第一题和第二题

第一题:
输入:多组测试数据。每组测试数据如下
第一行输入三个整数:N、A、X,分别代表需要解决的bug数量、喝咖啡之后效率提升的倍数、一天最多可以喝掉的咖啡数
第二行输入N个整数,表示在不喝咖啡的情况下解决这些八阿哥所需的时间t1, t2, ..., tN
输出:如果能在八小时内解决这些bug(如果时间为小数,向上取整),输出解决bug的时间,否则输出0
case:input:
8 2 8
60 60 60 60 60 60 60 60
4 3 3
333 77 100 13
output:
240
175
第二题:
输入:多组测试数据
第一行输入两个整数T、N,分别代表钱数和零食种类数。
接下来的N行,每行输入三个整数ai, bi, ci(1 <= i <= N) ,代表零食的价格、零食的满意度、零食的数量
输出:求出最大满意度
case:input
100 2
1 1 1
1 1 1
100 3
26 100 4
5 1 4
5 2 2
output
2
306
第三题:单源最短路径问题 (迪杰斯特拉算法)用代码实现遇到麻烦 题目和测试用例都不记得了。此题略过

贴上第一题和第二题的代码:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {  int N, A, X;  while (!cin.eof()) {  cin >> N >> A >> X;  int tmp;  int time = 0;  int sum = 0;  for (int i = 0; i < N; ++i) {  cin >> tmp;  sum += tmp;  }  int coffeTime = A * X * 60;  if (coffeTime > sum) {  time = ceil((double)(sum) / (double)A);  }  else {  time = sum - coffeTime + ceil((double)(sum) / (double)A);  }  if (time > 480) {  cout << 0;  }  else {  cout << time;  }  }  return 0;
}
#include"stdafx.h"
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
struct backpack
{  int p;  //价格  int sat;  //满意度
} item[2001];   // 零食列表
int main()
{  int money, num;  int price, satisDegree, curNum;  int i, j;  int c;  cin >> money >> num;             //money表示总钱数,num表示零食的种类  int index = 0;  //拆分后零食的总数 拆分的目的是降低时间复杂度  // 二进制优化的方法  for (i = 1; i <= num; i++)  {  c = 1;  cin >> price >> satisDegree >> curNum;       //price表示价格,satisDegree表示满意度,curNum表示该零食的数量。  while (curNum - c>0)     // 1 2 4 8 (1-15)  {  curNum -= c;  item[++index].p = c*price;  item[index].sat = c*satisDegree;  c *= 2;  }  item[++index].p = price*curNum;  //补充不足指数的差值  item[index].sat = satisDegree*curNum;  }  vector<int> dp(money + 1);   //dp[i]代表钱数为i的时候获得的最大满意度  for (i = 1; i <= index; i++)   //对拆分后的物品进行0-1背包  {  for (j = money; j >= item[i].p; j--)  dp[j] = max(dp[j], dp[j - item[i].p] + item[i].sat);  }  printf("%d/money", dp[money]);  return 0;
}

#大疆##笔试题目##笔经#
全部评论
第三题,简单的最短路,看下数据不大,用的简单的 Floyd算法 就可以过(AC) PS:之前发的贴不知道为什么删除了,本着赛后互相分享,互相讨论的初衷,没啥违规的吧== 参考代码: #include <string.h> #include <stdio.h> #include <iostream> #include <algorithm> using namespace std; const int maxn = 1005; const int INF = 99999999; int map[maxn][maxn], dist[maxn]; bool visit[maxn]; int N,P,C; void init()     //初始化 {     int i, j;     for(i = 0; i < maxn; i++)     {         for(j = 0; j < maxn; j++)         {             if(i == j)                 map[i][j] = 0;             else                 map[i][j] = map[j][i] = INF;         }     } } void input()    //输入函数 {     int vi, vj, cost;     while(P--)     {         scanf("%d %d %d", &vi, &vj, &cost);         if(cost < map[vi][vj])             map[vi][vj] = map[vj][vi] = cost;     } } void floyd()    //Floyd算法 {     int i, j, k;     for(k = 0; k <=N; k++)     //k为中间点         for(i = 0; i <= N; i++)             for(j = 0; j <= N; j++)                 if(map[i][k] + map[k][j] <  map[i][j])                     map[i][j] = map[i][k] + map[k][j]; } int main() {   // freopen("in.txt","r",stdin);     while(cin>>N>>P>>C)     {         init();         input();         floyd();         int sum = 0;         for(int i=0; i<C; ++i)         {             int v;cin>>v;             sum+=map[0][v];         }         printf("%d\n", sum);     }     return 0; }
点赞 回复 分享
发布于 2019-08-05 12:31
不能用本地IDE吗???
点赞 回复 分享
发布于 2019-08-06 15:19
没有人用java写吗
点赞 回复 分享
发布于 2019-08-06 14:28
大佬第二题第2个测试数据是306吗?我咋测试出来是307
点赞 回复 分享
发布于 2019-08-06 11:13
麻烦问下,后台都是什么题型啊
点赞 回复 分享
发布于 2019-08-06 09:37
大佬,第一题想问下思路。coffeTime 和 sum比较的意义是什么?
点赞 回复 分享
发布于 2019-08-05 22:08
这是前端的笔试题?
点赞 回复 分享
发布于 2019-08-05 16:39
这个题暴力就可以了
点赞 回复 分享
发布于 2019-08-05 12:22
楼主第一题能通过多少?
点赞 回复 分享
发布于 2019-08-05 12:01

相关推荐

有很多问题,求大佬们解答,谢谢大佬们:不知道现在该怎么投实习,该怎么准备内心很纠结学校课程和实习到底怎么选择,&nbsp;自己也不想课程学业这边出问题,&nbsp;是不是只能投暑期实习,具体时间该怎么安排前端面试也需要准备算法么,&nbsp;自己的算法能力很薄弱,&nbsp;面试题需要准备到什么程度?没有ai项目经验的话,我该如何去补充,如何去找好的ai项目
smile丶snow:1.简历尽量一页,比如教育经历那里,全日制,计算机学院这些可以去掉没啥用好浪费空间。 熟悉三件套就没必要写了吧。js基本上是这样写 * JavaScript核心:深入理解 JS 运行机制(事件循环 Event Loop、微任务/宏任务),熟练掌握 Promise/Async 异步编程 模型。 熟悉可以改成熟练掌握。组件库写一个ant感觉就行,多写了浪费空间。 旅游项目是不是jonas的natours啊,我之前简历也有这个。我之前是这样写的 全栈思维: 熟悉 Node.js/Express 后端架构,掌握 MongoDB 数据库设计与聚合查询 工程化我觉得还是少些吧,不写就问的少,如果你真的了解的话可以写。 1.实习的话推荐大厂官网和aoob上面投,我自己有写一个校招网站的小网站可以直达~github主页上面有,顺便求个关注( 2.大三下一般课程比较少了吧,如果学校比较严的话可以多沉淀一会,如果不太严可以请dai课然后去实习,尽量找个近一些的就行。暑期实习不是暑假才实习哦,基本是上3月底4月初发offer就可以过去了,然后大概暑假的时候走转正流程答辩。 3.大厂算法题+js手写体。hot100+常见的比如数组转树,Promise.all,deepClone,之类 js手写都不难其实。算法看自己能力吧,我其实算法能力也不行。 4.自己平时没有用AI Coding吗?自己想一下怎么让AI帮你更好的写代码~比如Skill的诞生,OpenSpec的诞生,不都是我们想让AI更好帮我们写代码吗。
我的实习日记
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
54
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务