大一新生 写学校校队的题卡住了 请指点下

img

img

img

题目上说需要两炮才行,那从示例答案来看,是不允许在X轴或者Y轴一次开两炮的。那说明怪物所在的点至少需要一个X轴炮一个Y轴炮,那么就需要在怪物所在的点X轴和Y轴都开一炮,而为了最少,一个X轴或者一个Y轴也仅开一炮。此时这个问题就变成了看都多少个不同的X轴和Y轴坐标了。只需要将X轴的去重数量和Y轴的去重数量相加就可以得到结果了。 就像示例的两个,示例1去重计数X轴是2(2 ,1),Y轴是3 (1,3,2),所以结果是5.示例二同样口算就可以验证到。
这个就是解题思路,实现还是自己来比较好,相信你。 加油

感觉就行列哈希去重就好了,例1:行[-1,0,3,4]共4种,列[-1,0,3,4]共4种,原因是,对于同一行的怪物,总可以找到一个位置发射出一条穿过所有怪物的射线。同列怪物同理。

大一就这么努力了?