世界快资讯丨ZJOI2009狼和羊的故事 代码怎么敲?详细步骤
题目描述
“狼爱上羊啊爱的疯狂,谁让他们真爱了一场;狼爱上羊啊并不荒唐,他们说有爱就有方向......” Orez听到这首歌,心想:狼和羊如此和谐,为什么不尝试羊狼合养呢?说干就干! Orez的羊狼圈可以看作一个n*m个矩阵格子,这个矩阵的边缘已经装上了篱笆。可是Drake很快发现狼再怎么也是狼,它们总是对羊垂涎三尺,那首歌只不过是一个动人的传说而已。所以Orez决定在羊狼圈中再加入一些篱笆,还是要将羊狼分开来养。 通过仔细观察,Orez发现狼和羊都有属于自己领地,若狼和羊们不能呆在自己的领地,那它们就会变得非常暴躁,不利于他们的成长。 Orez想要添加篱笆的尽可能的短。当然这个篱笆首先得保证不能改变狼羊的所属领地,再就是篱笆必须修筑完整,也就是说必须修建在单位格子的边界上并且不能只修建一部分。
输入输出格式
(相关资料图)
输入格式:
文件的第一行包含两个整数n和m。接下来n行每行m个整数,1表示该格子属于狼的领地,2表示属于羊的领地,0表示该格子不是任何一只动物的领地。
输出格式:
文件中仅包含一个整数ans,代表篱笆的最短长度。
输入样例#1:
2 2 2 2 1 1
输出样例#1:
2
解析:
狼和羊被分开等于说任意狼和羊不连通,容易想到最小割。把狼和羊(1和2)分成两部分,源点向1连边,2向汇点连边,容量inf;1和2交界处连边,然后0向四周连边(因为0周围可任意切割),1向相邻的2连边,容量为1。然后Dinic或者ISAP。
以下是我的代码(依然比较宽。。):
1 #include2 #include3 #include4 #define S (n * m + 1) 5 #define T (n * m + 2) 6 #define ID(x, y) ((x) * m + (y)) 7 #define INF 0x7f7f7f7f 8 using namespace std; 9 10 const int dx[] = {0, 0, 1, -1}; 11 const int dy[] = {-1, 1, 0, 0}; 12 13 struct Edge 14 { 15 int v, next, cap; 16 Edge(int a = 0, int b = 0, int c = 0) 17 :v(a), next(b), cap(c){}; 18 }edge[100020]; 19 int n, m, cnt; 20 int head[10010], cur[10010], dep[10010], map[10010]; 21 22 void AddEdge(int _u, int _v, int _c) 23 { 24 edge[cnt] = Edge(_v, head[_u], _c); 25 head[_u] = cnt++; 26 edge[cnt] = Edge(_u, head[_v], 0); 27 head[_v] = cnt++; 28 } 29 bool bfs() 30 { 31 int queue[10010], qHead = 0, qTail = 0; 32 queue[qTail++] = S; 33 memset(dep, 0, sizeof(dep)); 34 dep[S] = 1; 35 while(qTail > qHead) 36 { 37 int p = queue[qHead++]; 38 for(int i = head[p]; ~i; i = edge[i].next) 39 if(edge[i].cap && !dep[edge[i].v]) 40 { 41 dep[edge[i].v] = dep[p] + 1; 42 queue[qTail++] = edge[i].v; 43 } 44 } 45 return dep[T]; 46 } 47 bool dfs(int now) 48 { 49 if(now == T) return true; 50 for(int &i = cur[now]; ~i; i = edge[i].next) 51 if(edge[i].cap && dep[edge[i].v] == dep[now] + 1 && dfs(edge[i].v)) 52 { 53 edge[i].cap--, edge[i ^ 1].cap++; 54 return true; 55 } 56 return false; 57 } 58 int Dinic() 59 { 60 int res = 0; 61 while(bfs()) 62 { 63 memcpy(cur, head, sizeof(head)); 64 while(dfs(S)) 65 res++; 66 } 67 return res; 68 } 69 int main() 70 { 71 memset(head, -1, sizeof(head)); 72 scanf("%d%d", &n, &m); 73 for(int i = 0; i < n; i++) 74 for(int j = 0; j < m; j++) 75 scanf("%d", &map[ID(i, j)]); 76 for(int i = 0; i < n; i++) 77 for(int j = 0; j < m; j++) 78 switch(map[ID(i, j)]) 79 { 80 case 1: 81 AddEdge(S, ID(i, j), INF); 82 for(int k = 0; k < 4; k++) 83 if(i + dx[k] < n && i + dx[k] >= 0 84 && j + dy[k] < m && j + dy[k] >= 0 85 && map[ID(i + dx[k], j + dy[k])] != 1) 86 AddEdge(ID(i, j), ID(i + dx[k], j + dy[k]), 1); 87 break; 88 case 2: 89 AddEdge(ID(i, j), T, INF); 90 for(int k = 0; k < 4; k++) 91 if(i + dx[k] < n && i + dx[k] >= 0 92 && j + dy[k] < m && j + dy[k] >= 0 93 && map[ID(i + dx[k], j + dy[k])] == 0) 94 AddEdge(ID(i + dx[k], j + dy[k]), ID(i, j), 1); 95 break; 96 default: 97 for(int k = 0; k < 4; k++) 98 if(i + dx[k] < n && i + dx[k] >= 0 99 && j + dy[k] < m && j + dy[k] >= 0100 && map[ID(i + dx[k], j + dy[k])] == 0)101 AddEdge(ID(i, j), ID(i + dx[k], j + dy[k]), 1);102 }103 printf("%d\n", Dinic());104 105 return 0;106 }//Rhein_E
View Code 返回顶部 收缩
转载于:https://www.cnblogs.com/Rhein-E/p/9323589.html
标签:
相关推荐:
精彩放送:
- []菜鸟教程 - Python 100例 题目解析
- []全球速看:步步高点读机课本下载网站是啥?步步高点读机课本下载
- []Java中的BigDecimal类使用 三种类型的构造方法
- []艾利斯顿商学院在哪里?我国真的有一个艾利斯顿商学院吗?
- []观焦点:Process类详解 相关类和方法介绍
- []Scope参数错误或没有Scope权限怎么办?解决办法
- []每日快报!《爱的地图》原唱是谁?你知道吗?
- []苏迪曼杯前瞻:20岁出头的中国羽毛球队真算不上年轻?
- []动态:什么是域?AD域的详细介绍
- []水轰5失事 解答水轰5失事的问题
- []阜阳师范大学信息工程学院近三年录取分数线及位次
- []【全球聚看点】仙三外传结局官方解析 仙三外传结局怎么样?
- []当前热点-setTimeout是什么意思?彻底理解setTimeout
- []天天要闻:名侦探柯南主题曲简谱左右手 名侦探柯南主题曲简谱
- []环球观天下!手机闪存卡哪款好?经典手机闪存卡有哪些推荐?
- []节能灯具有哪些品牌?节能灯具品牌介绍
- []全球讯息:关于《哈皮父子与水金刚》主题曲 你知道多少?
- []激光焊接机价格怎么样?激光焊接机价格参考
- []世界快资讯丨ZJOI2009狼和羊的故事 代码怎么敲?详细步骤
- []世界球精选!小键盘指法怎么操作?小键盘指法练习技巧
- []世界即时看!王者荣耀绝悟最后一关隐藏咋打?王者荣耀觉悟挑战第六关通关打法
- []京东联盟/好京客API与京东默认PID申请教程 京东API注册测试账号
- []全球快讯:什么是MSDN?MSDN的结构详情介绍
- []发电机设备有什么型号的?关于发电机设备的介绍
- []每日快看:准确进行网速测试的方法有哪些?适用于电信,联通等多种网络
- []全球快看:金山wps2012抢先版和个人版有什么不同?不同之处详解
- []wifi摄像头怎么链接?wifi摄像头连接方法
- []Makefile宏控是什么?宏控与systemProperty取名对应
- []当前速读:商鞅变法是什么意思?出自哪里?
- []焦点资讯:秘鲁币兑换人民币怎么换?10000秘鲁币等于人民币16元
- []什么是封建社会?封建社会详情介绍
- []全球热点!QGIS|构建选址模型 模型需求分析
- []【全球新视野】fate第四次圣杯战争是哪一部番剧?fate系列有没有关于第六次圣杯战争出动漫的消息
- []当前观察:Volatile详解 现代计算机的内存模型的详情介绍
- []滚动:抖音可以查访客记录吗?抖音访客记录怎么看?
- []当前短讯!2021江西省高考的成绩怎么查询?江西省教育考试院高考成绩查询系统入口2021
- []全球头条:Ubuntu中snap是什么意思?介绍一些常用命令
- []分布式光纤测温系统 性能指标优势
- []世界速讯:视频在html不能播放器怎么办?网页播放器打不开的解决方法
- []焦点速讯:草莓的英文单词及发音 你知道多少?
- []看热讯:QT部署YOLOV5 pyqt5搭建YOLOV5的检测平台
- []天天快资讯:Oracle database 10g官方版性能拓展
- []热资讯!hr是什么意思?管理的五大原则
- []每日速看!2021年临颖一高高考成绩查询 河南漯河名列前茅的4所高中
- []全球新动态:笔记本电脑品牌有哪些推荐?五款热门品牌推荐
- []环球速递!Bo韩服跌至第三 外媒记者爆料:FPX想将Bo租借到其他LPL战队遭拒
- []焦点热议:爱宁牌电饼铛怎样?爱宁牌电饼铛的优势介绍
- []全球快消息!电烤箱烤羊肉串怎么做?电烤箱烤羊肉串做法步骤
- []Android应用Preference相关及源码浅析 Preference相关基础概念
- []ISO9000和ISO9001有什么特点?ISO9000和ISO9001作用详解
- []磊科升级版NW360怎么样?磊科升级版NW360详细介绍
- []朴敏英和李敏镐身高对比是多少?朴孝敏黄金比例身材
- []文件删除了怎么恢复?文件删除了三种恢复方法
- []读书郎学生电脑如何下载?读书郎电脑下载步骤
- []sd卡数据恢复软件有哪些?sd卡数据恢复的软件
- []天天视点!苹果手机助手哪个好?推荐几款好用的苹果手机助手
- []世界观速讯丨色度抽样怎么弄?抽樣作用的解釋
- []【天天报资讯】sin函数对照表怎么看?三角函数值对照表
- []如何打开关闭Excel2007/2010兼容性检查器?关闭技巧
- []如何在excel中画斜线?在excel中画斜线的方法
- []全球快资讯丨炉石传说美服天梯第一的冠军贼卡组分享 详细介绍
- []天天微资讯!为什么黑茶有茶梗?关于茶梗你知道多少?
- []天天快看:手机多媒体没声音是怎么回事?手机多媒体没声音怎么修?
- []世界速看:2021庆阳一中高考成绩查询 2020年庆阳市多所中学高考喜报
- []天天看热讯:华为云发布鲲鹏云服务 开启云上多元算力新赛道
- []一个没有四肢的人 却给了无数人的力量
- []新资讯:LOL各英雄的原型来源你了解几个? LOL背后的小故事
- []RCLAMP0524P超低电容TVS二极管阵列 DFN-10L封装教程
- []Module简介 module的编写方法
- []今日观点!Win7安装IE10或IE11怎么操作?离线安装注意问题
- []环球要闻:如何判断一个函数是奇函数还是偶函数?判断技巧
- []《阿凡达2》重磅回归,联手海信电视呈现光影之美
- [] 《阿凡达2》震撼首映,与海信电视携手上演“美学巅峰”
- []克罗地亚终获世界杯季军,海信电视为每个强者喝彩
- []棕榈股份景观设计展现现代与自然的和谐之美
- []世界杯消费趋势洞察:大屏电视翻倍增长,ULED电视夺冠
- []世界杯观赛调研公布: Z世代消费者首选海信电视
- []【东海期货12月20日产业链日报】能化篇:中国需求预期提振,油价小涨
- []环球即时看!三立期货12月20日早间内参——宏观
- []十八数藏创始人柏松受邀出席“西部国家版权链”发布会并作主题发言
- []广西文旅产业签约6个重大项目 计划总投资额达113.6亿元
- []今日看点:五矿地产获授7.8亿港元循环贷款额度
- []千红制药:公司临床阶段新药各项工作均在正常推进中,请关注公司定期报告与临时公告
- []世界信息:三湘印象拟非公开发行股票,募集资金总额不超16亿元
- []天天速递!12月LPR连续4个月维持不变:1年期3.65%、5年期4.30%
- []利民股份:公司子公司江苏卓邦新能源科技有限公司拟投资建设新能源电池用电解质盐、功能添加剂及电解液项目
- []每日视点!华夏幸福:相关债务置换议案获董事会通过
- []当前看点!三木集团:公司的经营一切正常
- []旅游年票发行大势所趋,专家:要体现出诚意
- []【新要闻】重庆九龙坡区落户13个重点项目 总投资139.23亿元
- []环球聚焦:住建部:1-10月老旧小区改造开工率已达101.7%
- []旭辉将配售8.4亿股现有股份 所得款净额约9.46亿港元
- []大消息!500强金融巨头罕见出手,50亿拿下上海外滩核心地块
- []全球热点评!广东肇庆1宗商住地将于2023年1月5日出让 起价1.2亿元
- []世界百事通!深圳机场启动物流设施建设项目 总投资超50亿元
- []天天讯息:新致软件:本次可转债的募投项目正在按既定计划推进,具体进度请关注公司相关公告
- []天天速读:首都机场:尤为艰难
- []公摊面积内卫生间“消失”,业主起诉房地产公司获赔偿
- []房产中介推销“添油加醋” 购房者需提高警惕
- []焦点短讯!塔里木油田向新疆南部累计供气500亿立方米
- 今日热闻!道通科技数字能源中国区产品发布会拟于12月22日举行
- 动态:新疆为何能成为中国电力新高地?
- 环球信息:上海实业控股46.08亿出售上海实森90%股权及相关债权予友邦人寿
- 全球快播:车损包括哪些险种
- 不买交强险上路会怎样 上路车辆不买交强险会怎样
- 赋能电力数字化多样场景 ——深信服云边安一体化建设方案助力发电行业数字化转型
- 要闻:网上交车保险怎么办理 如何在网上交车险
- 储能电池主要应用在哪些地方?
- 世界快消息!枣庄99元的惠民保险在哪里买 在哪里买枣庄99元的惠民保险
- 实时:怎么查询自己车辆保险是哪个公司 自己车辆保险是哪个公司怎么查询
- 滚动:因现行市况 达美乐中国特许经营商达势股份延迟全球发售
- 华发股份选举李伟杰为第十届监事会监事长?
- 今头条!美股盘前:特斯拉升逾3% 中概股轻微上升 阿里升逾3%
- 拓新药业:12月16日公司高管蔡玉瑛、渠桂荣、董春红减持公司股份合计11.14万股
- 今日聚焦!土地周报 | 重点城市土地供应“断档”,市场热度继续下行(12.12-12.18)
- 快报:远洋集团与邮储银行签署全面战略合作协议 获180亿元授信额度
- 全球观焦点:房地产逆周期之下,贝壳如何诠释“坚持难而正确的事”?
- 环球快报:道道全:12月16日公司高管张军减持公司股份合计6.5万股
- 九典制药:12月16日公司高管段立新减持公司股份合计15.51万股
- 中国建筑1-11月地产业务合约销售额3484亿元
- 全球今热点:三湘印象拟非公开发行股票 募集资金总额不超过16亿
- 全球最资讯丨璞泰来:12月16日至12月19日公司高管陈卫增持公司股份合计3.25万股
- 全球微动态丨广东东莞4宗地块56亿成交,华润联合体29亿斩获交椅湾地块
- 当前消息!万科董事会审议通过发行境外上市外资股(H股)方案
- 【全球报资讯】统联精密:12月16日公司高管杨虎增持公司股份合计5000股
- 龙软科技:12月15日公司高管任永智减持公司股份合计1.24万股
- 中交地产:3个交易日收盘价涨幅累计20%,无应披未披重大事项
- 焦点关注:天津第四批供地收官:24宗地收金99.8亿元,仅2宗溢价成交
- 直播预告|一起来看旅游业“神仙打架”名场面!
- 今日报丨南都电源:公司股东人数请参见公司定期报告
- 当前快讯:快讯丨华发股份:选举李伟杰任监事长
- 前11个月上海商品房销售面积约1526万平方米
- 世界今头条!家居丨奥普家居:回购注销限制性股票合计279.8万股
- 财面儿丨大悦城完成发行15亿元公司债券 票面利率为4.27%
- 【世界新要闻】昊华能源虚假陈述案开庭 投资者索赔金额已超亿元
- 名臣健康:12月16日公司高管彭小青减持公司股份合计27.9万股
- 简讯:招商局蛇口36.4亿元公司债将上市 利率分别为2.40%、2.80%
- 世界观点:首开股份:完成发行10亿元中期票据 票面利率5%
- 全球报道:金逸影视: 公司暂未涉及上述业务。 祝您生活愉快,投资顺利!
- 天天视讯!新希望地产累计获综合授信超480亿元
- 实时:北上广深等13市共同发布《城市治理现代化北京宣言》
- 当前简讯:洲明科技:公司具体产量、销量及投产情况详见公司于巨潮资讯网披露的定期报告及相关公告
- 当前视讯!金科股份:截至 2022年11月末,公司已到期未支付的债务本金合计金额90.91亿元
- 徽商期货荣获和讯第20届中国财经风云榜“2022年度品牌影响力期货公司”
- 2元20片退烧药冲上热搜第一 股价一字涨停!东北制药的背后是...?
- 岭南控股:截至目前,公司的控股子公司广州广之旅国际旅行社股份有限公司的出入境旅游组团业务尚未恢复
- 每日观点:金融街威斯汀酒店30.01亿元资产支持ABS已获受理
- 每日视讯:中铁建设创业大厦6.7亿元资产支持ABS(类REITs)已获受理
- 深圳南山将再发2亿元消费券,推出近百场线上线下促消费活动
- 通讯!中海企业发展30亿元公司债券票面利率为2.7%
- 全球热头条丨襄阳住房投资10亿元公司债券已获受理
- 【环球播资讯】【券商聚焦】中信证券指地产市场拐点有望显现 推荐万科企业(02202)等优秀开发企业
- ST三圣:百康药业暂无扩产计划,将全力保障生产经营,满足目前市场需求
- 至纯科技:公司8寸涂胶显影设备正在验证中
- 世界简讯:天津四批次集中供地收官,全年总成交额315亿元
- 迪马股份:陈涵辞任公司副总裁职务
- 环球观点:上周楼市整体环比略有上涨,同比持续下降,土地供求环比走高,宅地成交量增近三成
- 得利斯:今年以来,预制菜产品销量较去年同期有较大幅度增长
- 每日热文:梦洁股份:公司实施高端品牌战略,为顾客提供高品质的家居生活方式,传导充满爱的家居生活态度
- 全球热推荐:通行宝:公司近日暂无资产出售和收购重组等的计划,后续信息请以公司公告为准
- 达安基因:公司全资子公司中山生物工程有限公司已进入24小时持续生产状态中,已经面向国内市场销售
- 【天天快播报】市场看涨情绪高涨,2022年黄金有望强劲收官!
- 环球即时:美原油交易策略:下行趋势线压制明显,提防进一步下探风险
- 当前时讯:12月19日汇市观潮:欧元、英镑和日元技术分析
- 环球热点!蜂巢能源第三届电池日发布超300Ah大容量储能电池引领新风向
- 热点评!现货黄金交易策略:美联储进一步加息前景抵消美元走软影响,金价仍有见顶风险
- 【华安期货】贵金属12月18日周报:12月加息落地,金价延续偏强态势
- 每日播报!国产客机再入印尼,能否雪耻扑朔迷离
- 信息:北京大部分酒店已恢复承办婚宴、公司年会,接受年夜饭预订
- 当前通讯!长三角铁路多地客流增幅明显,加开多个方向旅客列车保障出行
- 天天速看:民航:明年1月初先恢复到疫情前七成航班量
- 当前热文:上千条鱼涌入柏林市中心,丽笙酒店内世界最大圆柱水族箱炸裂
- 全球头条:12月19日海源复材涨停分析:蔚来汽车概念股,宁德时代概念股,碳纤维概念热股
- 全球热点!12月19日全 聚 德涨停分析:餐饮,预制菜,休闲食品概念热股
- 天天速读:上海松江今年推出1701套公租房
- 博众精工:牵手蜂巢能源 叠片机设备领域将极具竞争优势
- 每日热门:中交地产:10亿元公司债券票面利率为5.9%
- 阿根廷斩获大力神杯 海信电视见证梅西圆梦卡塔尔
- 全球速看:浙江义乌3宗地块40.9亿元成交
- 天天快消息!合景泰富拟配售2.35亿股 筹资4.67亿港元
- 越秀地产上市30年,高质量发展再谋新篇
- 环球资讯:12月19日悦心健康涨停分析:养老产业,装修装饰,口腔概念热股
- 全球信息:12月19日黑芝麻涨停分析:锂电池,新能源汽车,休闲食品概念热股
- 利德治疗仪 多年良心价格回报客户
- 梅西加冕!海信电视为潘帕斯雄鹰喝彩
- 观速讯丨install安装命令的常见用法 install有哪些优点?
- 天天快看点丨vue怎么引入阿里巴巴图标?引入的方法教程
- 世界热头条丨英伟达开发板中的编译系统 能否在ZC706的板子上执行?
- 全球今亮点!sprintf函数是什么?sprintf函数用法的详解
- 全球快播:什么是黑苹果系统?黑苹果Mac系统安装教程
- 今日精选:Linux命令之restore命令 使用语法及参数说明
- 报道:ICMP是什么意思?ICMP的详解
- 世界消息!Steam账号怎么注册?Steam账号注册流程
- 【世界快播报】深入理解BootStrap--面板panel BootStrap的原理分析
- 【环球热闻】杳无音信拼音怎么读?杳无音信的含义
- 送婴儿选什么礼物好?送婴儿礼物排行榜
- 当前报道:什么是audit? audit可以用来干什么?
- 当前热议!什么是 “云”?云的最后形成
- group by是什么意思?关于group by的用法和原理
- 全球消息!好莱坞十大最可爱的女演员是谁?玛丽昂歌迪亚仅排末尾