存储软件负责编程按照某写入策略,每次可向单块磁盘写入4KB数据,每写入n次可随机分配一次写入策略,存储软件的写入策略分为3种:
策略一: 轮循写入:比如存在3块硬盘0、1、2,
当n=2,采用该策略写入数据时,写入顺序为0->1;
当n=5,采用该策略写入数据时,写入顺序为0->1->2->0->1。
给定若干块磁盘,每块磁盘有不同的容量,按照某种写入比例,向这些磁盘写入一定量的数据。写入过程可以根据不同的策略,每隔几次切换一次策略。目标是找到使得所有磁盘的空间占用率保持均衡的写入策略组合数量。若不存在这样的组合,则返回0。
输入包括:磁盘数量、每块磁盘的容量、写入比例、待写入的数据量以及每几次切换一次写入策略。输出是存在多少种写入策略组合能够使磁盘的空间占用率保持均衡。
dfs+模拟,对于目前的这次选择什么策略,考虑dfs去遍历每一种策略,第一种策略也就是按轮循写入(1 2 3 1 2 3....),第二组是每一次都选择目前剩余容量高的,第三种则是按比例,看最后看硬盘空间的占用率是不是保持均衡即可