原题地址:点击打开链接

思路:一开始当做二分图最大匹配问题来做,最后发现行不通。

最后找到思路该题可用最大流解决。。建立超级源点0,和汇点end=f+2*n+d+1;

建图:源点到食物f的流量为1,饮料到汇点的流量为1,重点是要将一只牛分成2个,每头牛与自己的流量为1,。即变为最大流问题。

示例加草图:

4 3 3
2 2 1 2 3 1
2 2 2 3 1 2
2 2 1 3 1 2
2 1 1 3 3

代码:

#include<stdio.h>
#include<string.h>
#include<vector>
using namespace std;
int used[410],pre[410],n,f,d,c[410][410],end;
bool dfs(int u)
{if(u==end)return true;int i;for(i=1;i<=end;i++){if(c[u][i]>0&&used[i]!=1){used[i]=1;pre[i]=u;if(dfs(i))return true;}}return false;
}
int max_Flow()
{int u,v,res=0;while(1){memset(used,0,sizeof(used));if(!dfs(0)){break;}res++;v=end;for(u=pre[end];v!=0;u=pre[u]){c[u][v]-=1;c[v][u]+=1;v=u;}}return res;
}
int main()
{int i,j,fCount,dCount,x;while(scanf("%d%d%d",&n,&f,&d)!=EOF){end=2*n+f+d+1;memset(c,0,sizeof(c));for(i=1;i<=f;i++)c[0][i]=1;for(i=2*n+f+1;i<end;i++)c[i][end]=1;for(i=f+1;i<=f+n;i++)c[i][i+n]=1;for(i=1;i<=n;i++){scanf("%d%d",&fCount,&dCount);for(j=0;j<fCount;j++){scanf("%d",&x);c[x][f+i]=1;}for(j=0;j<dCount;j++){scanf("%d",&x);c[f+n+i][f+2*n+x]=1;}}int res=max_Flow();printf("%d\n",res);}return 0;
} 

NYOJ326_Dining(最大流)相关推荐

  1. stream流对象的理解及使用

    我的理解:用stream流式处理数据,将数据用一个一个方法去 . (点,即调用) 得到新的数据结果,可以一步达成. 有多种方式生成 Stream Source: 从 Collection 和数组 Co ...

  2. 如何判断飞机的年限_技术流带你鉴定前风挡玻璃更换,不再使用日期判断!

    ​ 这又是一篇关于前风挡玻璃鉴定的文章,我记得在二手车鉴定微信公众号里面已经发布好几篇这样的文章了,当然每篇文章的住重点不同,今天这一篇应该是完结篇,它们在一起能组成一套玻璃更换系列专题课程: 我们回 ...

  3. SpringCloud Alibaba微服务实战(五) - Sentinel实现限流熔断

    什么是Sentinel? 请查看文章:SpringCloud Alibaba微服务实战(一) - 基础环境搭建 构建服务消费者cloud-sentinel进行服务调用 服务创建请查看文章:Spring ...

  4. 文件流处理流式处理大数据处理

    20210315 https://www.yuque.com/7125messi/wydusr/wweetn 42-(重要重要重要)加速pandas(Modin和pandarallel) 重点 htt ...

  5. javaSE8的流库总结

    前言 本篇博客对 java 8 的流库进行一个总结 1. 从迭代到流 在处理集合时,我们通常会迭代遍历它的元素,并在每个元素上执行某项操作,列如假设我们想统计某本书的所有长单词数(单词长度大于10): ...

  6. CUDA 7流简化并发

    CUDA 7流简化并发 异构计算是指有效使用系统中的所有处理器,包括CPU和GPU.为此,应用程序必须在多个处理器上同时执行功能.CUDA应用程序通过在流(按顺序执行的命令序列)中,执行异步命令来管理 ...

  7. GPU编程和流式多处理器(二)

    GPU编程和流式多处理器(二) 2. 整数支持 SM具有32位整数运算的完整补充. • 加法运算符的可选否定加法 • 乘法与乘法加法 • 整数除法 • 逻辑运算 • 条件码操作 • to/from浮点 ...

  8. GPU编程和流式多处理器

    GPU编程和流式多处理器 流式多处理器(SM)是运行CUDA内核的GPU的一部分.本章重点介绍SM的指令集功能. 流式多处理器(SM)是运行我们的CUDA内核的GPU的一部分.每个SM包含以下内容. ...

  9. Cuda Stream流 分析

    Cuda Stream流分析 Stream 一般来说,cuda c并行性表现在下面两个层面上: • Kernel level • Grid level Stream和event简介 Cuda stre ...

最新文章

  1. ERP_基于Oracle SOA的企业服务总线整合
  2. 阿里云服务器CentOS7版本yum方式安装mysql
  3. 学习响应式BootStrap来写融职教育网站,Bootsrtap第二天
  4. 信号为E时,如何让语音识别脱“网”而出?
  5. 管理科学の学生自学CS的【计划】与【心得】
  6. python版本控制git_实验一:Git代码版本管理
  7. SpringCloud-Config通过Java访问URL对敏感词加密解密
  8. python笔记记录神器 jupyter notebook
  9. java---抽奖小程序
  10. 102分布式电商项目 - JVM调优(理论篇)
  11. Synchronized和Reentrantlock的区别
  12. POWERBUILDER12.6开发实验室管理系统[LIS](一),迈瑞三分类血球仪 BC-20S\BC-30S接收、解析数据
  13. ①. SpringBoot整合PageOffice实现在线编辑Word和Excel
  14. 2021年系统集成项目管理工程师证书领取
  15. 为什么要学习人工智能,人工智能热招的岗位有哪些,工资和学历有哪些关系?
  16. java程序员学技术都会访问那些网站?
  17. Smoke testing,Sanity testing and Regression testing
  18. 2022好看的校园表白墙程序源码Ver2.0
  19. 1.android入门不能忽视的问题之出现“ClassNotFoundException: Didn't find class ...Activity on path: DexPathLis”错误
  20. 给公司代码分配销售组织

热门文章

  1. 使用函数指针来编写一个名叫sort的函数,它用于对一个任意类型的数组进行排序。
  2. 批量删除html网页,ie浏览器收藏夹网页批量删除方法
  3. php x20有啥用,vivo X20有什么新功能
  4. 高速设计学习-干货!高速串行Serdes均衡之FFE
  5. 家务计算机配置,笔记本电脑佳配置是什么样的
  6. 【已解决】surface 电池不好充电显示“未连接”,将充电的接口换个方向就解决了
  7. 天猫直通车的相关定义
  8. Hyperledger Fabric 网络环境的一点理解
  9. GDI+图像去污——四周去污
  10. Flutter系列(二)flutter项目打安装包