[商湯]一個狗媽媽有70塊肉,狗寶寶距離狗媽媽60步。每次狗媽媽最多拿40塊肉,每走2步需要吃掉一塊肉,則它最多能把 多少 塊肉拿給狗寶寶。
題目:一個狗媽媽有70塊肉,狗寶寶距離狗媽媽60步。每次狗媽媽最多拿40塊肉,每走2步需要吃掉一塊肉,則它最多能把 多少 塊肉拿給狗寶寶。
根據題意,如果滿載直接到終點會浪費掉30肉,而最優解一定要將這30肉消耗掉,以換取滿載的情況下距離寶寶最近,因此一定要在起點與終點之間有一個折返點;
設:起點為O、折返點為A、終點為B。OA距離為X,最後剩餘Y肉給寶寶;則:
第一次從O滿載出發再返回有:40-(X/2)*2肉留在A點
第二次O載30肉出發到A點撿起第一次留下的肉應該滿載:30-X/2+(40-(X/2)*2)=40得到X=20
則Y=70-(3x+(60-x))/2,代入x=20得Y=20
相關推薦
[商湯]一個狗媽媽有70塊肉,狗寶寶距離狗媽媽60步。每次狗媽媽最多拿40塊肉,每走2步需要吃掉一塊肉,則它最多能把 多少 塊肉拿給狗寶寶。
題目:一個狗媽媽有70塊肉,狗寶寶距離狗媽媽60步。每次狗媽媽最多拿40塊肉,每走2步需要吃掉一塊肉,則它最多能把 多少 塊肉拿給狗寶寶。 根據題意,如果滿載直接到終點會浪費掉30肉,而最優解一定要將這30肉消耗掉,以換取滿載的情況下距離寶寶最近,因此一定要在起點與終點之
一隻猴子有100個香蕉,把香蕉搬到50米之外的家裡,每次最多拿50個香蕉,每走一米要吃掉一個香蕉,最後家裡能剩下幾個香蕉
題目:一隻猴子有100個香蕉,把香蕉搬到50米之外的家裡,每次最多拿50個香蕉,每走一米要吃掉一個香蕉,最後家裡能剩下幾個香蕉。 答案: 很多人的方案:猴子先搬50根,走17米,在回來搬50根走到17米處,回來後再搬剩下的49根走完33米,最後得到16根! 但是其實可以剩下17根。 猴
一個表裏有多個字段需要同時使用字典表進行關聯顯示,如何寫sql查詢語句
TE bbs 創建者 一個 需要 rom signed assigned user 參考:https://bbs.csdn.net/topics/330032307 數據庫裏面有一個字典表,這張表裏面有id段和對應的名字字段。在另外一個記錄的表裏面有對應的上述字典表的id
輸入一個正整數陣列,把數組裡所有數字拼接起來排成一個數, 列印能拼接出的所有數字的最小的一個。例如輸入{3,32,321,4},則列印最小的數字是 3213234
public class FandMax { public void makeMax(int[] nums){ boolean flag=true; for (int i = 0; i < nums.length; i++) { for (int j = 0; j <
編寫程式,從鍵盤輸入 一個 英文字母(有若干行)。如果是大寫字母,則輸出它對應的小寫字母;如果是小寫字母,則輸出它對應的大寫字母。
撰寫人——軟工二班——陳喜平 題目描述 編寫程式,從鍵盤輸入 一個 英文字母(有若干行)。如果是大寫字母,則輸出它對應的小寫字母;如果是小寫字母,則輸出它對應的大寫字母。 輸入 一個英文字母。(有多組測試資料) 輸出 對應的小寫或者大寫字母,輸出後換行。 樣例輸入 A q 樣例輸
晚上,有四個人過河,分別需要1、2、5、10分鐘。只有一把手電筒,過河的必要條件是有手電筒。最多可以兩個人同時過河,但必須以兩人中較慢的那個人的速度過去。問:所有人都過河,至少需幾分鐘。用java實現
找實習工作遇到的筆試題: 解題思路:用兩個集合分別代表河的兩岸(list2表示對岸),利用雙重for迴圈模擬A,B,C,D分別組合過河,如:A,B先過河,則,將A,B都新增到list2集合中去。如果A的時間大於B,則B再次過河送手電筒,再一次將B新增到集合中去。反之同理。 總之,時間短的過河
晚上,有n個人過河,分別需要n1、n2、n3、nn分鐘。只有一把手電筒,過河的必要條件是有手電筒。最多可以兩個人同時過河,但必須以兩人中較慢的那個人的速度過去。問:所有人都過河,至少需幾分鐘。
package Arrays; import java.util.Arrays; import java.util.Scanner; public class ToArray { private
一個正整數如果等於組成它的各位數字的階乘之和,該整數稱為階乘和數。 例如,145=1!+4!+5!,則145是一個三位階詳細和數。 請問:50000內共有多少個階乘和數?所有的階乘和數(按字典序,即1打頭的在前,2打頭的次之,..., 空格分隔)
#include <stdio.h>long jc(int x); int main() { int a, b, c, d, e, f, g; long m1, m2, m3, m4, m5, m6, n1, n2, n3, n4, n5, n6; for(a = 1; a <=
程式設計師新人面臨最尷尬的事:需要工作積累經驗,需要有經驗才能找到工作!到底怎麼辦?
你需要一份工作來積累經驗,但你需要有經驗才能找到工作…… 大學剛畢業,或者轉換職業方向後新入一個職場領域,你會發現求職之路舉步維艱。大多數的公司職位都要求工作經驗,單這一點就足以將你拒之門外。 前幾天,一位即將從大學畢業的讀者徵求我的建議,問我該怎樣才能找到一份
有自己的程式碼--題目:給定一個數組,裡面全是正整數。數字大小表示這一步最多可以向後移動幾個節點。總是從陣列第一個元素開始移動。問如何移動,可以以最少步數移動到最後一個節點。
原文:https://yq.aliyun.com/articles/547799 描述: 題目:給定一個數組,裡面全是正整數。數字大小表示這一步最多可以向後移動幾個節點。總是從陣列第一個元素開始移動。問如何移動,可以以最少步數移動到最後一個節點。 例如:[3,4,2
給定一個 32 位有符號整數,將整數中的數字進行反轉(java實現最全面的)
題目:給定一個 32 位有符號整數,將整數中的數字進行反轉。示例 1:輸入: 123 輸出: 321 示例 2:輸入: -123 輸出: -321注意:假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 [−231, 231 − 1]。根據這個假設,如果反轉後的整數溢
給定一個二維平面,平面上有 n 個點,求最多有多少個點在同一條直線上。
需求:給定一個二維平面,平面上有 n 個點,求最多有多少個點在同一條直線上。 分析思路: 1、將所有點二維座標化,即定義出所有點的x,y座標值 2、遍歷出所有取出兩點的情況(不考慮先後順序),根據任意兩點都確定一條直線,直線引數為k斜率,b與y軸交點的縱座標(此時x=0),將他們放入一個
雞和兔關在一個籠子裡,雞有2只腳,兔有4只腳,沒有例外。現總共a只腳,求最少有多少隻動物,最多有多少隻動物?如果沒有滿足要求的答案,輸出0 0.
#include<stdio.h>int main(){ int a; //a表示腳。n組資料。 int x,y; //x最少,y最多。 int b,c; scanf("%d",&a); if(a%2!=0)
說你有一個數組,其中第i個元素是第i天給定股票的價格。設計一個演算法來找到最大的利潤,最多可以完成兩個交易。
用四個變數來表示倆次交易的買入賣出,遍歷陣列,比較每次交易的利益,儲存最大的。 int maxProfit(vector<int> &prices) { int len=prices.size(); if(len
今天大家做的一個比賽題:有6個檔案,每個檔案裡大約200w整數,每行一個找出所有檔案裡最大的一個數字
題目二:考察處理大資料量能力 (難度:★★) 有6個檔案,每個檔案裡大約200w整數,每行一個 找出所有檔案裡最大的一個數字實現方法: package com.yxie.test.data; import com.magnanimityData.test.constant.
球隊至少需要多少分可以出線,最多有多少分未出線
題目 足球比賽,一個小組有8支球隊進行單迴圈賽,勝者積3分,平則雙方同積1分,負則不積分,規定積分最高的4支球隊出線,則出線至少需要____分,未出線最多可能有____分。 分析 1,出線至少需要多少分?
給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多只允許完成一筆交易(即買入和賣出一支股票),設計一個算法來計算你所能獲取的最大利潤。
pan stat 給定 arr 註意 turn 大於 交易 nbsp 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多只允許完成一筆交易(即買入和賣出一支股票),設計一個算法來計算你所能獲取的最大利潤。 註意你不能在買入股票前賣出股票。 示例 1
一個賽馬問題 25匹馬5個賽道,每個賽道每次只能跑一匹馬,問需要跑幾次,能求出跑得最快的三匹馬。
第三名 pre -- 得出 假設 現在 一個 比賽 25匹馬 肯定 7 次 25匹馬先設5組:假設A,B,C,D,E五組 跑5輪後選每組前3名進下一輪 每組第一名比賽一輪(第6圈)得出第一名(假設A1)第二名(假設B1)第三名(假設C1) 從(第6圈)第一名組中選出
企業有了ERP為什麼還需要大資料分析,它能為企業解決什麼問題?
如果一個企業不做資料分析,那將意味著什麼? 使用者在哪?我怎樣才能和他們互動? 我不知道我的營銷活動到底效果如何? 使用
判斷一個字符串之中出現次數最多的字符和它出現的次數
div char for ole ++ 思路 i++ 最大值 sdh 判斷一個字符串之中出現次數最多的字符和它出現的次數!!! 思路:用一個空對象將字符串的各個字符和其出現的次數緩存起來,再通過比較次數的大小來判斷出最大值 (function(){ // 判斷一個