zoukankan      html  css  js  c++  java
  • 算法竞赛入门经典~chapter 3 例题

    3-1  开灯问题

    有n盏灯,编号为1~n。第一个人把所有打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关 (其中关掉的灯被打开你,开着的灯将被关闭),一次类推。一共有k个人,问最后又哪些灯开着?输入 :n和k,输出开着的灯编号。k <= n <= 1000.

    样例输入:7 3

    样例输出:1 5 6 7

    Code

    3-2  蛇形填数(抽象问题)

    在n*n方阵里填入1,2,…,n*n,要求填成蛇形。例如4时方阵为:

    10  11  12   1
    9  16  13   2
    8  15  14   3
    7   6   5   4

    上面的方阵中,多余的空格只是为了便于观察规律,不必严格输出。n <= 8。

    从x=0,y=n-1,即第0行,第n-1列。“笔”的移动轨迹是:下,下,下,,左,左,左,上,上,上,右,右,下,下,上。总之,先是下,都不能填了为止,然后是左,接着是上,最后是右。“不能填”是指再走就出界了,或者再走就要走到以前体拿过的格子。如果我们把所有格子初始化为0,就能方百年地加以判断。

    Code1
    C++_Style:

    3-3  竖式问题

    找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前对应有编号,只有应有一个空行。最后输出解的总数。

    样例输入:2357

    样例输出:

    <1>
      775
    X  33
    -----
    2325
    2325
    -----
    25575


    The number of solutions = 1


     

    Code


    3-4 回文串(编码阶段可以采用迭代式开发:每次只实现一点小功能,但要充分测试,确保它工作正常。)

    输入一个字符串,求出其中最长的回文子串。字串的含义是:在原串中连续出现的字符串片段。回文的含义是:正着看和倒着看相同,如abba和yyxyy。在判断时,应该忽略suoyou8标点符号和空格,且忽略大小写,单输出应保持鸳鸯(在回文串的首部和尾部不要输出多余字符)。输入字符串长度不超过5000,且占据单独一行。应该输出最长的回文串,如果有多个,输出起始位置最靠左的。

    样例输入:Cofuciuss say:Madam,i'm Adam.

    样例输出:Madam, i'm Adam

    Code


     


     

  • 相关阅读:
    [Swift]LeetCode954. 二倍数对数组 | Array of Doubled Pairs
    [Xcode 实际操作]九、实用进阶-(18)图像人脸识别:对图片中的人像进行面部检测
    Hibernate or JPA Annotation中BLOB、CLOB注解写法
    install_driver(mysql) failed
    【Android】Android中AlertDialog对话框的使用实例
    POJ 2442 Sequence【堆】
    distributed OSGI demo
    DSP/BIOS使用之初窥门径——滴答时钟及烧写Flash
    提取工厂类
    【JAVA学习】struts2的action中使用session的方法
  • 原文地址:https://www.cnblogs.com/sanghai/p/2825639.html
Copyright © 2011-2022 走看看