遗忘之祭仪(prepare) 暴力乱搞 + 10.6考试总结

博客介绍了如何解决一个关于弹幕击中方格的数学问题,通过暴力求解方法判断是否能按照要求激活所有需要的方格,并分享了作者在10.6考试中的失误和反思,强调了简单题目的处理和细节把握的重要性。
摘要由CSDN通过智能技术生成

一.题目

题目描述

仪式的场地可以描述为 n × m 的方格图,其中有些方格需要用弹幕击中才能激活。
小苗的符卡弹幕范围为 a × b,但并非所有 a × b 个格子都会被弹幕击中。小苗将具体给出这 a × b 个格子中哪些格子会被击中。
小苗将释放若干次符卡,每次释放符卡都会选定一个 a × b 的区域并发射弹幕。她想要所有需要激活的方格都被恰好击中一次,且其他不需要激活的格子(包括 n × m 范围以外的格子)不被击中。需要注意选择的 a × b 个格子不一定完全包含于 n × m 范围内,只要没有弹幕打在 n × m 以外即可。
小苗现在急着出门揍人,所以她希望你能帮忙判断,若给定场地信息与符卡信息,是否可以满足上述要求。

输入格式

第一行一个正整数 T,表示数据组数。接下来 T 组数据,对于每组数据:
第一行包含四个正整数 n, m, a, b。
接下来 n 行,每行 m 个字符,描述场地信息。’.’ 表示不需要激活,‘x’ 表示需要激活。
接下来 a 行,每行 b 个字符,描述符卡信息。’.’ 表示没有弹幕攻击,‘x’ 表示有弹幕攻击。

输出格式

对于每组数据:
如果答案为是,则输出 Yes;否则输出 No(请注意区分大小写)。

样例

样例输入

2
3 4 4 2
xx…
.xx.
xx…
x.
.x
x.

2 2 2 2
xx
xx
.x
x.

样例输出

Yes
No

数据范围与提示

对于所有测试点,满足 T ≤ 5 , m a x ( n , m , a , b ) ≤ 1000 T ≤ 5, max (n, m, a, b) ≤ 1000 T5,max(n,m,a,b)1000

二.题解

这道题目很暴力,也很容易算错时间复杂度,考试的时候想得太复杂了。
其实就是先将矩阵B给离散下来,把每个x的点存下来,然后从上到下、从左到右依次遍历A矩阵,每次找到其左上角的第一个x,用B矩阵的左上角的x去覆盖,若无法覆盖就没有办法了,因为A上每个x点必须被覆盖一次,A左上角的x只能以B矩阵左上角的x去覆盖。其实就是一个暴力!!!
时间复杂度看似 O ( n 4 ) O(n^4) O(n4)实则遍历 n 2 n^2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值