华为oj题

孙悟空偷吃蟠桃,天兵天将会离开蟠桃园k小时,求孙悟空在天兵天将回来之前,孙悟空将所有蟠桃吃完的最小吃桃速度,在吃每棵蟠桃树上桃子时,剩下的一个小时内,如果没有可吃的桃子,这一小时内不再吃其他树上的桃子。输入为每棵树上蟠桃数量,以及天兵天将会回来的时间,输出为最小的吃桃速度。
例如:8为8小时后天兵天将会回来
input:3,11,6,7,8
output:4

我的用例只通过40%
#华为#
全部评论
你题目都没表述清,怎么可能全部通过
2 回复
分享
发布于 2019-11-25 17:33
3,11,6,7,8前面3,11,6,7是每棵树上的桃子数量,8是天兵天将8小时后会回来,输出是4,最小吃桃速度是4才能确保天兵天将回来前吃完所有桃子。的确没有表述清楚
1 回复
分享
发布于 2019-11-27 09:39
乐元素
校招火热招聘中
官网直投
二分贪心
点赞 回复
分享
发布于 2019-11-25 18:44
有答案吗?
点赞 回复
分享
发布于 2020-08-04 20:43
我的通过用例是25%。。。我用的暴力穷举,但是可能没做好多个样例的判断,问下这题怎么解决多个输入样例啊? 我用的是cin,但是cin不能识别回车,区分多行啊,但是后面考虑用fgets再拆分每个数据,但是那样太麻烦了,没时间做了就直接提交了。 auto n = 0; vector<int> in; while (cin >> n) { in.push_back(n); }
点赞 回复
分享
发布于 2021-03-30 10:59
仔细琢磨了下,应该是我判断条件搞错了,题目其实挺简单。。。
点赞 回复
分享
发布于 2021-03-30 11:44
暴力搜索了 #include <stdio.h> int main() {     int a[1000]; int i = 0; char ch; while(scanf("%d",&a[i])!=EOF) {     ch = getchar(); i++; } int max = a[0]; int min = a[0]; int length = i-1;     int time = a[i-1]; for(int j = 1;j<length;j++) {     if(a[j]>max)max = a[j];     if(a[j]<min)min = a[j]; } int minRate = 1;     int maxRate = 1;     for(int k =min;k<max;k++)     {         int sumTime = 0;         for (int j = 0, size = length; j < size; j++)          {            sumTime += (int)(a[j] * 1.0 / k+0.5);         }         if (sumTime == time)         {             printf("%d",k);             break;         }     }    return 0; }
点赞 回复
分享
发布于 2021-04-28 12:44
 public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         String[] input = scanner.nextLine().split(" ");         int[] num = new int[input.length - 1];         int time = 0;//回来时间         for (int i = 0; i < input.length; i++) {             if (i == input.length - 1)                 time = Integer.parseInt(input[i]);             else {                 num[i] = Integer.parseInt(input[i]);             }         }         int speed = 1;         int tmp = 0;         for (int i = 0; i < num.length; i++) {             tmp = tmp + (num[i] / speed + 1);  //向上取整 (int)(num[i] * 1.0 / k+0.5);            //当前速度吃桃 会超时,则  从头试下一个速度             if (tmp > time) {                 speed++;                 tmp = 0;                 i = 0;             }         }         System.out.println(speed); }
点赞 回复
分享
发布于 2021-09-14 18:26

相关推荐

头像 头像
03-05 22:00
C++
点赞 评论 收藏
转发
1 2 评论
分享
牛客网
牛客企业服务