1 条题解

  • 0
    @ 2025-8-24 22:45:28

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Lovely_Elaina
    嘟嘟嘟

    搬运于2025-08-24 22:45:28,当前版本为作者最后更新于2023-03-06 12:55:51,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    妥妥暴力模拟题。

    思路

    用两个数组表示每台车的重量和每个停车位的收费标准。

    用一个数组表示各个车位停着哪辆车,如果没有为 00

    用一个队列表示待进的车辆,写一个函数用来更新这个队列,每次输入的时候就更新一下。

    入车和出车都写一个函数,暴力就行了。

    代码

    #include <bits/stdc++.h>
    using namespace std;
    
    const int N = 105;
    const int M = 2005;
    
    
    int b[N],m,n,a[M];
    int tol; // 车的总数
    int is_b[N];
    long long sum;
    
    queue<int > q; // 待入车辆
    
    • Zou doesn't like Chen anymore.
    /*void print(){
        for(int i = 1; i <= n; i++){
            cout << is_b[i] << " ";
        }cout << endl;
    }*/
    
    void wait();
    void enter(int x);
    void leave(int x);
    
    void wait(){
        if(tol == n) return ;
        while(tol < n && !q.empty()){
            enter(q.front());
            q.pop();
        }
    }
    
    void enter(int x){
        if(tol == n){
            if(x != q.front())
                q.push(x);
            return;
        }
        
        int i = 1;
        while(is_b[i]) i++;
        is_b[i] = x;
        //print();
        sum += (b[i]*a[x]);
        tol++;
    }
    
    void leave(int x){
        int i = 1;
        while(is_b[i] != x) i++;
        is_b[i] = 0;
        tol--;
    }
    
    int main(){
        ios::sync_with_stdio(0);
        cin.tie(NULL);
        
        cin >> n >> m;
        for(int i = 1; i <= n; i++){
            cin >> b[i];
        }
        for(int i = 1; i <= m; i++){
            cin >> a[i];
        }
        
        int x;
        m *= 2;
        while(m--){
            wait();
            cin >> x;
            if(x > 0) enter(x);
            else leave(-x);
        }
        
        cout << sum << endl;
        
        return 0;
    }
    
    • 1

    信息

    ID
    8446
    时间
    1000ms
    内存
    32MiB
    难度
    3
    标签
    递交数
    0
    已通过
    0
    上传者