洛谷P1172 安全逃离题解

本文介绍了洛谷P1172题目的安全逃离问题,详细阐述了题目的错误及解决方案。内容涉及奶牛逃离路线的安全性检查,通过模拟和遍历所有奶牛,判断是否存在安全的逃离方案。当所有奶牛安全时输出0,否则尝试移除一头奶牛并检查安全性,输出移除奶牛的编号或在无法确保安全时输出-1。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目

题目描述

原题
农夫john最近在研究如果发生重大事故,如何让农场里的奶牛逃离问题。他想要确信在紧急情况下,所有的奶牛都有一个安全逃离方案。因为在紧急情况下,奶牛们都会失去观察和判断能力,所以最近john一直在教奶牛们逃离的方法,他的方法很简单,就是任何时候都只向北方或东方逃离,北方是行坐标减1的方向,东方是列坐标加1的方向。奶牛们虽笨,不过这一点事关自己的生命,所以他们牢记在心,而且也一定会这么做。

当然也会出问题,奶牛们在逃离的方向上会横冲直撞,为了阻止奶牛之间互相冲撞造成伤害,john要求任何一个奶牛的逃离路线不能经过其它奶牛的初始位置。一个逃离方案是安全的如果它能够满足上面的要求,反之它就是不安全的。

奶牛们所在的土地(农场)被划分成了rr行和cc列的一个矩形地图。奶牛们都待在这个矩形中的某一个位置。

请帮助john确定给定的一个地图上是否存在一个安全的逃离方案。

比如,下面的两个图:

左边的例子表示了一个能够安全逃离的地图,因为没有任何一个奶牛的逃离路线上包括其他奶牛。右边的例子表示了一个不安全的地图,因为位于(4,1)(4,1)的奶牛不论是向东逃离还是向北逃离,它的路线上都会有别的奶牛,从这个图中拿掉任意一头奶牛,这个地图都会变成安全的。

输入输出格式

输入格式

1 1 1行:两个整数 r , c r,c r,c,用1个空格隔开,表示矩形的行数和列数(均 ≤ 50 \le 50 50)。
2 2 2行:一个整数 n n n,表示奶牛的个数( ≤ 100 \le 100 100)。
3 3 3 n + 2 n+2 n+2行:共 n n <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值