zoukankan      html  css  js  c++  java
  • Codeforces Round #376A (div2)

    Night at the Museum

    题意:

    有一个转盘,26个英文字母均匀分布在转盘边缘,转针初始位置在字母a,每次只能转动到相邻的字母,然后输入一个由26个字母组成的字符串(最长100),不复位地依次转动到相应的字母位置,问:一共需要转多少次?编程实现。

    Input:

      输入一个字符串,最长100,由26个英文字母组成。

    Output:

      输出需要转动的次数(整数)。

    解题思想:

    由于一圈字母中“..za..”段是不连续的,所以需要分情况讨论,我是这么分的:

    以转针所指字母pointer和圆心连线为轴,轴右侧(即<pointer,pointer+13或pointer-13>),除了转针指向‘a’时,其它时刻轴两侧肯定有一侧字母连续  另一侧字母无法连续(包含"za"串) 。

    轴左右指的是将轴竖直放置,转针一头在上,此时的左右侧 。

    不难看出pointer以‘n’为界限,小于‘n’时不连续段在轴左侧,大于‘n’时不连续段在轴右侧。如下图:

    最后代码:

     C++ Code

    结果测试:

  • 相关阅读:
    vue 2 渲染过程 & 函数调用栈
    vue keep-alive的实现原理和缓存策略
    记 vue 表单的一个性能问题
    IIS 部署到服务器上出现数据库连接失败
    JS apply和call
    js 检查对象是否没有字段
    c# httpclient
    js 使用flow
    IIS 出现405
    站点js屏蔽他人广告
  • 原文地址:https://www.cnblogs.com/xieweikai/p/6817688.html
Copyright © 2011-2022 走看看