题目大意:有$m$个单位,每个单位有$r_i$个代表,有$n$张餐桌,每张餐桌可容纳$c_i$个代表。要求同一个单位的代表不在同一个餐桌就餐。若可以,输出$1$以及其中一种方案,否则输出$0$

题解:贪心,把餐桌大小和单位人数从小到大排序,因为单位规模越大就越难满足,所以我们优先考虑他们。而桌子越多越好,小桌子又容易满而不能用,所以先坐大桌子。

卡点:

C++ Code:

#include<cstdio>
#include<algorithm>
using namespace std;
int n,m;
struct node{
int num,w;
}b[300],a[300];
int s[200][300];
inline bool cmp(node a,node b){return a.w>b.w;}
int main(){
scanf("%d%d",&m,&n);
for (int i=1;i<=m;i++)scanf("%d",&a[i].w),a[i].num=i;;
sort(a+1,a+1+m,cmp);
for (int i=1;i<=n;i++)scanf("%d",&b[i].w),b[i].num=i;
sort(b+1,b+1+n,cmp);
for (int i=1;i<=m;i++){
int j=1;
while (a[i].w){
if (j>n){
puts("0");
return 0;
}
if (b[j].w){
s[a[i].num][++s[a[i].num][0]]=b[j].num;
b[j].w--,a[i].w--;
}
j++;
}
}
puts("1");
for (int i=1;i<=m;i++){
for (int j=1;j<=s[i][0];j++)printf("%d ",s[i][j]);
puts("");
}
return 0;
}

[洛谷P3254]圆桌问题的更多相关文章

  1. 洛谷 [P3254] 圆桌问题

    简单最大流建图 #include <iostream> #include <cstdio> #include <cstring> #include <cmat ...

  2. 洛谷P3254 圆桌问题(最大流)

    传送门 一道良心啊……没那么多麻烦了…… 从$S$向所有单位连边,容量为单位人数,从所有桌子向$T$连边,容量为桌子能坐的人数,从每一个单位向所有桌子连边,容量为$1$,然后跑一个最大流,看一看$S$ ...

  3. 洛谷P3254 圆桌问题(最大流)

    题意 $m$个不同单位代表参加会议,第$i$个单位有$r_i$个人 $n$张餐桌,第$i$张可容纳$c_i$个代表就餐 同一个单位的代表需要在不同的餐桌就餐 问是否可行,要求输出方案 Sol 比较zz ...

  4. 洛谷 P3254 圆桌问题【最大流】

    s向所有单位连流量为人数的边,所有饭桌向t连流量为饭桌容量的边,每个单位向每个饭桌连容量为1的边表示这个饭桌只能坐这个单位的一个人.跑dinic如果小于总人数则无解,否则对于每个单位for与它相连.满 ...

  5. 洛谷P3254 圆桌问题 网络流_二分图

    Code: #include<cstdio> #include<algorithm> #include<vector> #include<queue> ...

  6. [洛谷P3254] [网络流24题] 圆桌游戏

    Description 假设有来自m 个不同单位的代表参加一次国际会议.每个单位的代表数分别为ri (i =1,2,--,m). 会议餐厅共有n 张餐桌,每张餐桌可容纳ci (i =1,2,--,n) ...

  7. 洛谷.3254.圆桌问题(最大流ISAP)

    题目链接 日常水题 还是忍不住吐槽这题奇怪的评价 #include <cstdio> #include <cctype> #include <algorithm> ...

  8. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

  9. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

随机推荐

  1. jquery把数组中年月相同的数组重新组成新的数组

    //原数组var data = { results: [{ id:0, date:'2017-12-12', content:'123' },{ id:0, date:'2017-12-12', co ...

  2. BGP映射和联盟

    BGP映射和联盟 一:请看下面四张有关于BGP映射和联盟的拓扑图 BGP联盟 BGP映射实例 BGP单映射 BGP多映射 二:以图一为列,进行BGP联盟的配置测试: 首先进行理论分析,在拓扑图中共用两 ...

  3. 关于Linux中mysql中文乱码

    1.SHOW VARIABLES LIKE 'character_set_%';查看编码集 2.编辑/etc/my.cnf文件 加入这个设置 default-character-set=utf8 (这 ...

  4. 牛客暑假多校第五场A.gpa

    一.题意 给出你的N门课程的考试成绩和所占的机电数目.允许你放弃K门课的成绩,要求你的平均学分绩最高能达到多少. Kanade selected n courses in the university ...

  5. linux进程 生产者消费者

    #include<stdio.h> #include<unistd.h> #include<stdlib.h> #include<string.h> # ...

  6. Java8新特性(三)——Optional类、接口方法与新时间日期API

    一.Optional容器类 这是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象. 查看结构图可以看到有如下常用方法: of(T)—— ...

  7. SharePoint2013修复报错

         今天项目组的Sharepoint2013不小心被卸载了,本想着直接修复,谁知道在修复的时候一直报错,说找不到什么文件.报的就是类似于这样的错误: Product: ######### -- ...

  8. XML与Object的范型转换

    前段时间做object转换xml想了很多,所有打算整理下 做成以下的通用方法. public static bool ObjectToXml<T>(string filePath, T t ...

  9. 如何激活win10

    第一步:用管理员权限打开命令提示符: 第二步:输入命令---slmgr.vbs /upk                          (成功卸载了产品密钥) 第三步:slmgr /ipk NPP ...

  10. 阿牛的EOF牛肉串(递推)

    阿牛的EOF牛肉串 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Sub ...