【最佳銷售策略】
小明的爸爸中年失業在家,小明一家頓時失去唯一的經濟來源。這時小明的媽媽想要擺攤賣包子貼補家用,媽媽的手藝很好可以做出好吃的包子,但是不太會經營包子攤,小明想要幫忙媽媽。小明觀察媽媽的包子賣得越便宜的話可以賣越多。假設媽媽做包子的成本為c,販售包子價格為p,每天可賣出m個包子,每天收益為profit = ( p – c ) * m。 例如: c=9, p=13, m=500則profit = 2000。請寫出一個c++的程式能夠為小明找出profit最大的最佳銷售策略。
輸入說明:
輸入n+1行數字,第一行包含一個正整數n,1 ≤ n ≤ 30,代表有n組測試資料。第二行開始有n組輸入,每一組輸入依順序為數字c,數字k, 接著連續輸入k對的定價及銷售量 p1,m1,p2,m2 .. ,pk ,mk。
輸出說明:
輸出最佳銷售策略的p, m及profit值。輸出最後有跳行,每一行最後面不能有空格。
【輸入範例】 | 【輸出範例】 |
2 9 2 13 500 30 100 12 2 15 1000 30 100 | 30 100 2100 15 1000 3000 |
#include<iostream>
using namespace std;
int main()
{
int n, b, c, k, max;
cin >> n;
for (int i = 0; i < n; i++)
{
int p[30] = { 0 };
int m[30] = { 0 };
int profit[30] = { 0 };
max = 0;
b = 0;
cin >> c >> k;
for (int j = 0; j < k; j++)
{
cin >> p[j] >> m[j];
profit[j] = (p[j] - c) * m[j];
}
for (int a = 0; a < k; a++)
{
if (profit[a] > max)
{
max = profit[a];
b = a;
}
}
cout << p[b] << " " << m[b] << " " << max << endl;
}
return 0;
}
沒有留言:
張貼留言