zoukankan      html  css  js  c++  java
  • 【Topcoder】SRM158 DIV2总结

    250分题:给定一个4位字符串initial和rotate这个字符串的方式,然后再给另一个字符串current,问current能否由initial通过rotate得到,需要几次rotate?

    简单的模拟题,把rotate模拟好就行。

    代码:TireRotation

    500分题:给定一个等式,求出这个等式是否在x进制下成立(x在2~20之间)。

    我的思路是自己写一个BaseAdd模拟进制x下的加法,然后根据等式中两个加数算出在x进制下相加的和,然后和等式中的和比较是否相等。

    BaseAdd的实现类似大整数加法,把整数变成字符串然后模拟加法和进位。

    代码:BaseMystery

    这题看完大神的代码我简直要吐血身亡了,原来java中的Integer.parseInt有一个参数可以指定把字符串转换为x进制的数,然后两个x进制的数是可以直接用+相加的,所以自己没必要实现BaseAdd,灰常简单。下面是Integer.parseInt的部分javadoc:

         * Parses the string argument as a signed integer in the radix
         * specified by the second argument. The characters in the string
         * must all be digits of the specified radix (as determined by
         * whether {@link java.lang.Character#digit(char, int)} returns a
         * nonnegative value), except that the first character may be an
         * ASCII minus sign {@code '-'} ({@code 'u005Cu002D'}) to
         * indicate a negative value or an ASCII plus sign {@code '+'}
         * ({@code 'u005Cu002B'}) to indicate a positive value. The
         * resulting integer value is returned.

    以下是几个自带的例子:

         * parseInt("0", 10) returns 0
         * parseInt("473", 10) returns 473
         * parseInt("+42", 10) returns 42
         * parseInt("-0", 10) returns 0
         * parseInt("-FF", 16) returns -255
         * parseInt("1100110", 2) returns 102
         * parseInt("2147483647", 10) returns 2147483647
         * parseInt("-2147483648", 10) returns -2147483648
         * parseInt("2147483648", 10) throws a NumberFormatException
         * parseInt("99", 8) throws a NumberFormatException
         * parseInt("Kona", 10) throws a NumberFormatException
         * parseInt("Kona", 27) returns 411787

    1000分题:这题就是“宝石迷阵”的超级简化版,给定一个board,问有多少种可能的move,一次move是把一个元素和它周围8个元素中一个互相交换位置(如果这8个元素存在),要求交换后能产生连续3个一行或者一列字符相同时才能交换。

    模拟就可以了,自己实现3个函数:交换函数,判断当前交换是否生效函数和某个位置是否合法的函数;然后把board中每个元素和它上面及右边的元素分别交换,看是否能得到一次合法交换(只交换上面和右边是为了避免重复交换)。

    代码“:Gems

  • 相关阅读:
    设计模式---003代理模式(转载自我的老师 Alley-巷子)
    设计模式---002适配模式(转载自我的老师 Alley-巷子)
    设计模式---001单例模式(转载自我的老师)
    【JavaScript算法】---希尔排序(转载自我的老师 Alley-巷子)
    【JavaScript算法】---快速排序法(转载自我的老师 Alley-巷子)
    将博客搬至CSDN
    程序员10元盒饭完整版
    querylist采集数据 模拟滑动验证码 jcapche
    php压缩图片工具类(亲测可用)
    elastic-php should匹配设置至少匹配一个条件
  • 原文地址:https://www.cnblogs.com/sunshineatnoon/p/3936827.html
Copyright © 2011-2022 走看看