P1905 堆放货物

Posted duojiaming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1905 堆放货物相关的知识,希望对你有一定的参考价值。

其实这是一道大大大水题

看题加思考加代码一共不到20分钟

题目不可能出现不合法的情况

直接模拟就好

 

//P1905 堆放货物
#include<bits/stdc++.h>
using namespace std;
int n,p;
int w[4];
int pp[2550][1050];//第一位是船号 第二维是物品数
int cnt[2550];//记录一艘船上放了几个物品
int main(){
    cin>>n>>p;
    for(int i=1;i<=n;i++){
        int s;
        scanf("%d",&s);
        w[s]++; //记录1,2,3 出现次数
    }
    int len=1;//记录分到了第几个船
    for(int i=1;i<=3;i++){
        for(int j=1;j<=w[i];j++){
            len=len%p;
            pp[len][++cnt[len]]=i;
            len++;
        }
    }
    for(int i=0;i<p;i++){
        for(int j=cnt[i];j>=1;j--){//从下到上
            cout<<pp[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
}

 

以上是关于P1905 堆放货物的主要内容,如果未能解决你的问题,请参考以下文章

如何减少仓库,增加存货点

suseoj 1212: 推箱子问题(bfs)

sql嵌套删除语句

第八届蓝桥杯 承压计算 (代码+详解)

商品订购及货物采购信息系统(代码分析)

P1156 垃圾陷阱