华农大2018新生赛编程题目:监控网络记录与心形图案设计

需积分: 9 2 下载量 127 浏览量 更新于2024-07-17 1 收藏 150KB DOCX 举报
华农大2018新生赛补录赛包含两道编程题目,分别是"A潜伏"和"BOYY的表白",均为算法竞赛中的典型问题。 1. A潜伏 这是一道关于素数查找的题目,给定一个由数字组成的字符串,长度不超过100,000,OYY需要你编写程序帮助他找到在字符串中每个指定位置i后的第一个两位素数。输入格式为字符串和查询次数,输出则是对应位置后的素数,若不存在则输出"-1"。解决这类问题时,你需要实现一种高效的素数检测算法,如埃拉托斯特尼筛法或者简单的遍历检查,确保在给定的时间限制内完成查询。同时,需要注意的是,对于较大的数字范围,优化查找策略至关重要。 2. BOYY的表白 在这道题目中,OYY希望在一张N*M的格子布上形成一个特定的图案来表白。规则是:从中心格子开始贴心形,然后排除与其坐标相等的格子,形成四个独立的矩形区域。这个过程会递归进行,直到无法再找到新的中心格子。你需要计算出OYY最终需要准备多少个心形,这是一个动态规划问题,可能涉及到二维空间的搜索和状态转移。解决方案需要设计一个状态机或递归函数,记录每个区域的心形数量,并更新边界条件。 这两道题目都涉及到了算法设计和数据结构的应用,特别是字符串处理、素数判断、动态规划等基础知识。参加者不仅需要扎实的编程基础,还需要具备良好的逻辑思维和问题分解能力,以便在有限时间内解决这些挑战性问题。这对于想进入IT行业特别是竞赛方向的学生来说,是一个很好的实战训练机会。