U60085.字母军团的进攻
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
Tip:本题废话一堆,很考验各位的耐心和信息提取能力
小明就这样把小b赶跑了,完成了他的a+b+c problem。
小b被小明赶走后,感到很委屈:明明是小s有问题,凭什么要把我赶走?小明你自己把我请来,又把我赶走,你也太不讲武德了。于是,小b找到它的爸爸——大B,讲述了不讲武德的小明把他赶走的事。大B非常生气,决定教训一下小明。
大B是字母王国的三军元帅,它决定公报私仇。字母大军驻扎在(1,1)的位置,一共有s个字母士兵。于是,大B前往(1,1),带着字母大军浩浩荡荡的来到了小明家。小明吓坏了。但是,众所不周知,小明非常的smart,智商高达250。小明很快在他家周围做了一个n×m的防御工事:'@'是小名家;'#'是防御箭塔,字母大军过不去;'.'是平常的路。小明很有信心,认为字母大军肯定过不去。于是,小明便在家里睡大觉了。
另一边,由于字母都不怎么smart,只能朝上下左右四个方向走,大B便在军营里召开了紧急会议。这时,被小明赶走的小s也来了,因为它也和小明有仇,就给大B出主意。小s有一个魔戒,可以摧毁一座防御塔,可以使用k次。但是,魔戒它有一个很残忍的癖好,那就是每摧毁一个防御箭塔,都要挑一个“幸运”的字母士兵给箭塔陪葬,换句话说,就是每摧毁一个防御箭塔,字母士兵数量就减1。
但是啊,小明不仅smart,还练过功夫,派系是捂裆派武当派,一个人能打过f名字母士兵。如果到达小明家时,字母士兵剩余的数量太少了,那小明还是打得过的,就达不到大B想要的效果了。说的简洁明了点,就是字母士兵剩余数量如果小于等于f,就算行动失败;反之,则行动成功,但剩余字母士兵数量要扣去小明能对付的字母士兵数量。
请问大B是否能教训小明,能得话输出"Yes",和字母军团剩下的士兵数量;否则输出"No",和被摧毁箭塔的数量。
输入格式
n m k s f
a1,1 a1,2 ...... a1,n−1 a1,n
a2,1 a2,2 ...... a2,n−1 a2,n
.
.
.
.
.
.
am−1,1 am−1,2 ...... am−1,n−1 am−1,n
am,1 am,2 ...... am,n−1 am,n
输出格式
两行:
第一行输出"Yes"或"No",表示大B是否能教训小明;
第二行输出一个整数,如果能教训小明,那么输出剩余字母士兵的数量;如果不能,则输出沿最优路径(下面有解释)摧毁的箭塔数量。
输入输出样例
输入#1
3 3 1 10 9 ... ..# .#@
输出#1
No 1
输入#2
3 3 1 11 9 ... ..# .#@
输出#2
Yes 1
说明/提示
最优路径:损失士兵最少能到达小明家的路径(可能不止一条)
字母军团的士兵很傻,所以就算不能教训小明,也要战死到底,沿最优路径使用魔戒和自己摧毁箭塔;大B司令脑子还是挺聪明的,教训小明,它一定会选择最优路径来走。
1≤n,m≤50
0≤k≤10
1≤s,f≤100
出题人:༺ཌༀ༒Maximus༒ༀད༻
出题日期:2025-08-15