摘要:
方法:选取一个点A,以点A为圆心做一个半径为r的圆,然后枚举另一个点B,以B为圆心做一个圆,如果这两个圆有交集,那我们在这个交集内选取一个点做半径为r的圆,这个圆就包括了A和B点,找到交集最多的区域并计算这个区域被覆盖的次数,把这个数加一就是最多能够覆盖的点个数,枚举所有的A,就可以得到最优解,剩下 阅读全文
摘要:
这个是朋友托我打的,不属于ACM,但觉得挺有意思,所以就放到这里了,题目有两个要求,输出当1年1月1日到前年每月的1号隔了多少天,并输出这天是星期几,然后再按格式输出这一年12个月的公历日历。 是一个挺简单的模拟,就是有点小麻烦和小细节需要注意,下面是代码: 阅读全文
摘要:
做这个题的时候我给想简单了,还以为是个基础的广搜,后来发现搜索无法完成,因为vis的标记已经不能再使用了,因为一旦标记了,同一个结点不能走两次,而题目中有的时候有些点必须要走两次,甚至多次. 我就无从下手了,赛后看了题解才知道,每个点都有16个状态,用状态压缩可以来保存每个点的钥匙状态,开一个三维的 阅读全文