Board logo

標題: 202404新手3-熱門商品 [打印本頁]

作者: may    時間: 2024-10-31 16:31     標題: 202404新手3-熱門商品

[attach]20113[/attach]
熱門商品 (Commodity)
問題敘述
小美擁有N間化妝品店,每間店擺放的商品不同,受歡迎的程度也不同。為了拯救較不受歡迎的店家,他在網路上進行了一次問卷調查,蒐集各個客戶最喜愛的商品編號。得到客戶們最受歡迎的商品編號後,打算將它擺放在最不受歡迎的商店裡出售。 小美認為,問卷中出現次數最多的數字就是最受歡迎的商品編號,而每間商店的受歡迎程度則為商店內擺放商品在問卷中出現的次數總和。
[attach]20110[/attach]
[attach]20111[/attach]
[attach]20112[/attach]
作者: may    時間: 6 天前 07:27

  1. #include <bits/stdc++.h>
  2. using namespace std;

  3. int main()
  4. {
  5.     int K, N, R[1001], tmp, most_popular = -1, most_popular_cnt = 0, worst_shop, worst_shop_sells = 10000000;
  6.     cin >> K >> N;//問卷K份 商店N家
  7.     int M[N], sum[N];//
  8.     for (int i = 0; i < 1001; ++i)
  9.     {
  10.         R[i] = 0;//每個商品受歡迎指數初始值
  11.     }
  12.     for (int i = 0; i < K; ++i)
  13.     {
  14.         cin >> tmp;//受歡迎商品編號
  15.         R[tmp]++;//個別累加受歡迎指數
  16.     }
  17.     for (int i = 0; i < 1001; i++)//找出最受歡迎的商品編號
  18.     {
  19.         if (R[i] > most_popular_cnt)
  20.         {
  21.             most_popular_cnt = R[i];
  22.             most_popular = i;
  23.         }
  24.     }
  25.     for (int i = 0; i < N; i++)
  26.     {
  27.         cin >> M[i];//每家商店的商品數量
  28.     }

  29.     for (int i = 0; i < N; i++)
  30.     {
  31.         sum[i] = 0;//
  32.         for (int j = 0; j < M[i]; j++)
  33.         {
  34.             cin >> tmp;//編號i店所擺放的商品編號
  35.             sum[i] += R[tmp];//加總i店商品的受歡迎指數
  36.         }
  37.         if (sum[i] <= worst_shop_sells)//找出哪家店不受歡迎指數最高
  38.         {
  39.             worst_shop_sells = sum[i];
  40.             worst_shop = i + 1;
  41.         }
  42.     }

  43.     cout << most_popular << " " << worst_shop << endl;
  44. }
  45. /*
  46. 6 3
  47. 56 56 47 23 47 47
  48. 1 1 1
  49. 23
  50. 47
  51. 56

  52. 最受歡迎的商品編號
  53. 商品歡迎指數最低
  54. 47
  55. 1
  56. */
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2