题目解析
我们可以以使用一个变量 M 来统计所有「AI」生成的变量;
每个变量名为一个字符串,一共有 NNN 个变量名,我们可以使用一个执行 NNN 次的循环,每次循环,使用一个 std::string 类型变量 s 读入变量名,并使用 s.size() 来获取字符串的长度,若长度大于 555 则令 m 加 111。
最终就可以得到 NNN 个变量名中「AI」编写的变量的数量 M。
由于需要向上取整,我们可以使用以下方法:
令需要取整的分式为 MN\frac{M}{N}NM ,其中 MMM 和 NNN 皆为整数且 M≥0,N>0M \ge 0, N \gt 0M≥0,N>0;
那么由于 C++ 整数运算抹除小数部分,可以利用这里特点,将分式改写为 M+N−1N\frac{M + N - 1}{N}NM+N−1 ;
即 MN=M+N−1N\frac{M}{N} = \frac{M + N - 1}{N}NM =NM+N−1 。
对于 C++运算的整数取整建议使用以上形式,而非使用 ceil 函数。
那么此时求取「AI」率 X=M×100+N−1NX = \frac{M \times 100 + N - 1}{N}X=NM×100+N−1 。
以及小林自己编写的变量的比率 Y=100−XY = 100 - XY=100−X。
AC代码
C++ 代码:
Python 代码: