2017年10月29日 星期日

[C_AR05-易] 最少派車數(C++)

[C_AR05-易] 最少派車數

問題描述 :
某遊覽車派遣公司共收到n筆任務訂單,訂單中詳細記載發車時間s和返回時間d。每一輛遊覽車只要任務時間不衝突,可立即更換司機繼續上路執行任務。請問該公司至少需要調遣多少車輛才足以應付需求?

輸入說明 :
程式的輸入包含兩行數字,第一行包含一個正整數n,1 ≤ n ≤ 30,代表第二行有n筆訂單的出發時間和返回時間s1, d1, s2, d2, ..., sn, dn,0 < si < di ≤ 24,而此2n個正整數間以空格隔開。
輸出說明 :
輸出最少車輛需求數。
範例 :

Sample Input:Sample Output:
3
1 6 3 12 6 18
2
  1. #include <iostream>  
  2. #include <algorithm>  
  3. using namespace std;  
  4.   
  5. int main() {  
  6.     // [C_AR05-易] 最少派車數  
  7.     int n;//測資數  
  8.     int st, et, max = 0;  
  9.     int t[25];  
  10.     fill(t,t+25,0);  
  11.     cin >> n;  
  12.     for(int j = 0;j < n;j++)  
  13.     {  
  14.         cin >> st >> et;  
  15.         for(int i = st;i < et;i++)  
  16.         {  
  17.             t[i]++;  
  18.         }  
  19.     }  
  20.     for(int k = 0;k < 25;k++)  
  21.     {  
  22.         if(t[k] > max)  
  23.         {  
  24.             max = t[k];  
  25.         }  
  26.     }  
  27.     cout << max << endl;  
  28.     return 0;  
  29. }  

沒有留言:

張貼留言