網易 分蘋果

2021-08-28 23:19:34 字數 616 閱讀 8772

n 只奶牛坐在一排,每個奶牛擁有 ai 個蘋果,現在你要在它們之間轉移蘋果,使得最後所有奶牛擁有的蘋果數都相同,每一次,你只能從乙隻奶牛身上拿走恰好兩個蘋果到另乙個奶牛上,問最少需要移動多少次可以平分蘋果,如果方案不存在輸出 -1。

每個輸入包含乙個測試用例。

每個測試用例的第一行包含乙個整數 n(1 <= n <= 100),

接下來的一行包含 n 個整數 ai(1 <= ai <= 100)。

輸出一行表示最少需要移動多少次可以平分蘋果,如果方案不存在則輸出 -1。
示例1

複製

4

7 15 9 5

複製

3
題解:

#include #include using namespace std;

int main()

if (sum % n != 0)

else

}if (isok == true)

}cout << cnt << endl;}}

} return 0;

}

網易買蘋果

採用動態規劃求解。思路同本文中前面的程式設計題 跳石板。建立乙個vector容器steps,steps i 表示購買i個蘋果所需的最小袋數。初始化為steps容器為int max。從1蘋果開始遍歷,若steps i 為int max,表示無法購買該個數的蘋果,直接開始下次迴圈。若steps i 不為...

2017網易校招真題 分蘋果

分蘋果 時間限制 1秒 空間限制 32768k 熱度指數 16917 n 只奶牛坐在一排,每個奶牛擁有 ai 個蘋果,現在你要在它們之間轉移蘋果,使得最後所有奶牛擁有的蘋果數都相同,每一次,你只能從乙隻奶牛身上拿走恰好兩個蘋果到另乙個奶牛上,問最少需要移動多少次可以平分蘋果,如果方案不存在輸出 1。...

問題 分蘋果

題目描述 給定一堆共n個蘋果,兩個人輪流進行如下操作 1,將這一堆蘋果分成兩堆,每堆的蘋果數目必須不同 2,另乙個人選擇其中一堆作為新的堆,開始下一輪操作。直到某個人不能滿足要求輸掉比賽,遊戲結束。假設兩個人都足夠聰明 總會選擇對自己最優的方案。比如說有3個蘋果,第乙個人只能選擇分兩堆1 2,第二個...