賽碼-裝載乘客-java

題目描述

X學校最近組織了一場春遊踏青活動,向Y公司租賃汽車運輸學生。這次參加活動的總共有n個班級,第i班總共有ai名學生,每輛車最大乘車人數爲m,滿足m>a1, a2, …, an。乘車時必須按照班級排列順序進行乘車,不能調整班級順序進行拼車。爲保證同一個班級的學生在同一輛車上,如果當前汽車裝完上一個班級後,下一個班級所有同學無法裝下,那麼當前車開走使用下一輛車。問最少需要多少輛車才能把所有學生運完?

主要思路:
就是硬裝,裝不下的時候再換輛車。

見代碼:

import java.util.Scanner;

/**
 * 裝載乘客
 */
public class Main{
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int classNum = scan.nextInt();
        int max = scan.nextInt();
        int left = 0;
        int ans = 0;
        for (int i = 0; i < classNum ; i++) {
            int num = scan.nextInt();
            if(left >= num ){
                left = left - num;
            }else{
                ans ++;
                left = max - num;
            }
        }
        System.out.println(ans);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章