【华为OD机试2023】静态扫描 C++ Java Python
前言
如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议!
本文解法非最优解(即非性能最优),不能保证通过率。
Tips1:机试为ACM 模式
你的代码需要处理输入输出,input/cin接收输入、print/cout 格式化输出
Tips2:机试按通过率算分
复杂题目可以考虑暴力破解,再逐步优化,不是运行超时就无法得分,比如一个分数为200的题目,当前通过率为50%,那么最终分数就是200*50%=100分
题目
题目描述
静态扫描可以快速识别源代码的缺陷,静态扫描的结果以扫描报告作为输出:
1、文件扫描的成本和文件大小相关,如果文件大小为N,则扫描成本为N个金币
2、扫描报告的缓存成本和文件大小无关,每缓存一个报告需要M个金币
3、扫描报告缓存后,后继再碰到该文件则不需要扫描成本,直接获取缓存结果
给出源代码文件标识序列和文件大小序列,求解采用合理的缓存策略,最少需要的金币数。
输入描述
第一行为缓存一个报告金币数M,L<=M<=100
第二行为文件标识序列:F1,F2,F3…Fn。
第三行为文件大小序列: