哪位大佬帮帮我
查看原帖
哪位大佬帮帮我
1018097
chwchwchwchwchw楼主2024/7/29 15:32
#include <bits/stdc++.h> 
using namespace std;  
int main() {  
    int N, M;  
    cin >> N >> M;  
    vector<int> volumes(N);  
    vector<int> capacities(M);  
    vector<vector<int> > powers(N, vector<int>(M));  
    for (int i = 0; i < N; i++) cin >> volumes[i];  
    for (int j = 0; j < M; j++) cin >> capacities[j];  
    for (int i = 0; i < N; i++) {  
        for (int j = 0; j < M; j++) {  
            cin >> powers[i][j];  
        }  
    }  
    vector<int> drawer_choice(N, 0);  
    vector<int> remaining_capacity = capacities;  
    for (int i = 0; i < N; i++) {  
        int best_drawer = 0;  
        int best_power = 0;  
        for (int j = 0; j < M; j++) {  
            if (volumes[i] <= remaining_capacity[j] && powers[i][j] > best_power) {  
                best_power = powers[i][j];  
                best_drawer = j + 1;
            }  
        }  
        if (best_power > 0) {  
            drawer_choice[i] = best_drawer;  
            remaining_capacity[best_drawer - 1] -= volumes[i];
        } else {  
            drawer_choice[i] = 0;
        }  
    }   
    for (int i = 0; i < N; i++) {  
        cout << drawer_choice[i] << endl;  
    }  
    return 0;  
}
2024/7/29 15:32
加载中...