這是題目,解答是137
https://i.imgur.com/NEHdqb2.jpg
接下來是我的過程
https://i.imgur.com/b1NHguT.png
https://i.imgur.com/1p2wV8F.png
題目中該為工作者是工作到第4個小時(240min),不過我用陣列算的方法是從0算到239,休息時間用0代替,工作就把0改成1,最後計算有多少時間點是0
printf出time[0]和time[43]不用理他,這只是我測試他們兩個有沒有在我的預測中進行(答案是他們有在我的預料中xdd)
想問的是為什麼我怎麼求都是236和答案差1,我卡好久了
這是我的輸出
第一次工作3分鐘,所以休息時間有240-3=237
第二次工作+第一次共23分鐘,所以休息時間共240-23=217
再加上第三次,休息時間共240-26=214
加上第四次,就超過此人的工作時段了,然後我就不明白為何錯了...
https://i.imgur.com/3pUmFjK.png
前面的10就是剛剛說的測試,啊這句話的文法我自己好像也覺得是錯的但想說看得懂就算了,就別理他唄
拜託各位了神人🙏🙏謝謝!!
你可能有興趣的文章...
全部留言
第39行 <=
....我還在想是不是解答錯了 然後看到 時間從0分鐘開始 所以start[]你根本就不用-1 owo...我還用到cpp跑ww
謝謝你啊還讓你去跑程😅😅但...我把start[]後面的-1拿掉後,答案變139wwwww
可是 這樣 第0~1分鐘 的休息時間 1分鐘 確實消失了
有點懶看程式碼,提供一個想法如下 就是在還在服務客人時如果又有人進來,可以把他的資料往前併。就你的測資而言,第四個人進來的時候前面還有人,所以把(160,3)和(161,80)併成(160,83)。再檢查花在最後一位客人的時間有沒有超過工作時間,取min(170+10,60*t)得到的值再丟回那個客人的需要時間。這樣可以保證不會有重複的問題,最後再減掉即可。以此例:300-(3+20+83+10)=124 你確定是137?