標題:
2022 A-⽣產與銷售管理
[打印本頁]
作者:
may
時間:
2025-3-25 17:39
標題:
2022 A-⽣產與銷售管理
A-⽣產與銷售管理
時間限制 1 秒 / 記憶體限制 1 G
公司擁有兩種產品甲和⼄。
產品甲和⼄的售價分別為Px,Py。
另外,由於賣出產品時,貨物運送以及相關的⼈事費⽤也都需要成本。
因此每賣出⼀個產品甲和⼄就會分別增加Cx,Cy的銷貨成本。
⽬前,公司的倉庫內,兩種產品分別有庫存Sx,Sy個。
然後若過多的產品沒有賣出,會造成過⾼的持有成本,因此產品甲和⼄分別須⾄少賣出Hx,Hy個。
總經理希望知道應該採⽤哪種銷售策略才能夠讓公司的獲利最⼤,
因此希望你幫他寫⼀個系統來制定銷售策略。
● 輸入說明
第⼀⾏輸入兩個整數Px 和Py 分別代表產品甲和⼄的售價。
第⼆⾏輸入兩個整數Cx 和Cy 分別代表產品甲和⼄的售出所需的銷貨成本。
第三⾏輸入兩個整數Sx 和Sy 分別代表產品甲和⼄的⽬前庫存數量。
第四⾏輸入兩個整數Hx 和Hy 分別代表產品甲和⼄的最低售出量
[attach]20823[/attach]
● 輸出說明
第⼀⾏請輸出最⾼淨獲利為多少。
第⼆⾏請輸出甲和⼄應該分售出多少個才能達到最⾼淨獲利。
範例輸入1
100 200
50 100
10 10
0 0
範例輸出1
1500
10 10
範例輸入2
100 100
50 60
10 20
5 10
範例輸出2
1300
10 20
作者:
may
時間:
2025-3-25 18:05
回復
1#
may
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
int Px, Py, Cx, Cy, Sx, Sy, Hx, Hy, total = 0, Nx, Ny;
cin >> Px >> Py >> Cx >> Cy >> Sx >> Sy >> Hx >> Hy;
if(Px > Cx) {
total += (Px-Cx)*Sx;
Nx = Sx;
}
else {
total += (Px-Cx)*Hx;
Nx = Hx;
}
if(Py > Cy) {
total += (Py-Cy)*Sy;
Ny = Sy;
}
else {
total += (Py-Cy)*Hy;
Ny = Hy;
}
cout << total << endl << Nx << ' ' << Ny << endl;
return 0;
}
複製代碼
----------------------------------------
解析:
讀取輸入:
依序讀取售價、銷貨成本、庫存量、最低銷售量。
確定最佳銷售數量:
根據題目條件,每種產品應該儘可能地賣完,因此 X 和 Y 直接取 Sx 和 Sy(倉庫內最多可賣的量)。
計算利潤:
用公式計算淨利潤 (Px - Cx) * X + (Py - Cy) * Y。
輸出結果:
輸出最大淨利潤值。
輸出最佳銷售數量
X 和 Y。
時間與空間複雜度:
時間複雜度:
O(1)(常數時間計算)
空間複雜度:
O(1)(僅使用幾個變數
----------------------------------------------------------------
測資:
測資 00(基礎測試)
輸入:
100 150
40 80
10 15
5 10
輸出:
1700
10 15
說明:
甲的淨利潤為
(100−40)×10=600
乙的淨利潤為
(150−80)×15=1100
總獲利為 1700,最佳銷售數量為
(10,15)
測資 01(庫存量與最低銷售量相等)
輸入:
120 180
50 70
8 12
8 12
輸出:
1880
8 12
說明:
甲的淨利潤為
(120−50)×8=560
乙的淨利潤為
(180−70)×12=1320
總獲利為 1880,但因為倉庫內最多只能賣 8 和 12,所以這是最佳解。
測資 02
輸入:
200 300
100 150
10 10
5 5
輸出:
2500
10 10
說明:
甲的淨利潤為
(200−100)×10=1000
乙的淨利潤為
(300−150)×10=1500
1000+1500=2500
輸出應該要賣出所有庫存來獲得最大利潤,
2500
10 10
測資03(銷貨成本較高)
輸入:
500 700
400 600
20 30
10 15
輸出:
5000
20 30
說明:
甲的淨利潤為
(500−400)×20=2000
乙的淨利潤為
(700−600)×30=3000
總獲利為 5000。
測資 04(不同售價與成本組合)
輸入:
50 120
20 90
25 40
10 20
輸出:
2400
25 40
說明:
甲的淨利潤為
(50−20)×25=750
乙的淨利潤為
(120−90)×40=1200
總獲利為 1950。
這 5 筆測資涵蓋了:
基本情況
最低銷售量剛好等於庫存
只賣最低數量
高銷貨成本情境
不同的售價與成本組合
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2