精華區beta Marginalman 關於我們 聯絡資訊
※ 引述 《enmeitiryous (enmeitiryous)》 之銘言: :   : 模擬周 : 題目:2028 finds missing observation : 給定一個6面分別為1-6的骰子,給你一個長度為m的vector為被觀察到的骰子擲m次的結果 : 給你一個數字n代表我們錯過的觀察次數(即實際總共擲了m+n次),及全部擲的結果的點數 : 總和平均,求未被觀察到的n次的任一可能結果,如果不可能則回傳{} 思路: 看能不能做到 如果可以就開陣列把缺的數字慢慢填進去 有沒有可愛的女孩子要跟我一起刷題 如果沒有的話 我明天再問一次 class Solution { public: vector<int> missingRolls(vector<int>& rolls, int mean, int n) { int m = rolls.size(); int now = 0; for(int i : rolls)now += i; int mean_val = mean*(m+n); if(mean_val > now + (6*n) || mean_val < now + n)return {}; now += n; vector<int> res(n,1); int p = 0; while(now < mean_val) { if(mean_val - now >= 5) { now += 5; res[p] += 5; } else if(mean_val - now < 5) { res[p] += mean_val - now; now += mean_val - now; } p++; } return res; } }; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.136.238 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1725504853.A.491.html