CF110B-题解


CF110B 题解

这题居然没有 Pascal 的题解,那我就写一篇吧。

题目翻译&做法分析:

给定一个数 $n$ 让你输出满足这三个条件的字符串:

  • 整个字符串都由小写字母组成;
  • 两个相同字母之间的距离为 4 或 7。
  • 在满足以上条件的前提上,字符串尽量最小。

然后我们就可以开始找规律,首先,字典序是最小的,那不就是 $a$,$b$,$c$,$d$…… 等等,按顺序来。

接着,我们画出一个表格:

先把字典序最小的 $a$ 填进去(注意:两个相同字母之间的距离为 4 或 7。) 为了字典序最小,所以肯定是字典序越小的字母越往前。

a b c d a b c d a ……

照上面这样子填下去,发现有一个循环节 a+bcda+bcda+bcda+…… 那我们就可以开始写程序了。

完整代码:

  • Pascal 代码:

    var n,i:longint;
    begin
      read(n); //输入
      for i:=0 to n-1 do //循环 n 次
          write(chr(97+i mod 4)); //刚刚找到的规律
    end.
  • C++ 代码:

    #include<iostream>
    #include<cstdio>
    int i,j,n,m;
    int main(){
      scanf("%d",&n); //输入
      for(i=0;i<n;i++) //循环 n 次
          putchar(97+i%4); //刚刚找到的规律
    }

提交结果显示,Pascal 的代码会比 C++ 慢 1~2 秒,但内存要更少。

希望本题解对大家有帮助,也感谢管理员在百忙之中帮助我审核题解,谢谢!


文章作者: Andysun06
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Andysun06 !
 上一篇
CF847G-题解 CF847G-题解
CF847G 题解题目分析:一共有 $n$ 个小组,每个小组都有 7 个课程,有可能有两个或两个以上的小组同时上课,但是一个教室只可以装下一个小组,问你如果要让所有小组都可以在教室上课,一共需要多少个教室? 上面的描述可能理解起来比
2020-05-02
下一篇 
《工作室微课堂》八年级综合实践第七课——《声音传感器》 《工作室微课堂》八年级综合实践第七课——《声音传感器》
八年级综合实践第七课《声音传感器》课堂传送门 本文章摘自《邓汉盘名师工作室》,版权归《邓汉盘名师工作室》所有,望周知
2020-05-02
  目录