大致题意:

递归地描述序列:设S(0)为3个字符的序列“mo o”。然后在较长的序列小号ķ)通过取序列的拷贝获得小号ķ -1),则“摩... O”与ķ 2 O公司,然后该序列的另一个拷贝小号ķ -1 )。例如:

S(0)=“mo o”

S(1)=“moomooomo o”

S(2)=“moomooomoomoooomoomoo omo o”

...... 以此类推 可无限延长

预测这个字符串的第N个字符是“m”还是“o”

Input

Multiple test case. For each case:

* Line 1: A single integer N (1 ≤ N ≤ 109).

Output

For each case, output one line: The only line of output should contain a single character, which is either m or o.

Sample Input

11

Sample Output

m

#include <bits/stdc++.h>
using namespace std;
int a[];
void constant()     /*完整序列的规律可分为 a m a 三部分
   即moomooomoo中,moo为a部分,mooo为m部分*/
{
a[]=; a[]=;
for(int i=;i<;i++) ///求出所有可能的有规律范围
a[i]=a[i-]*+i+;
}
int find_area(int n)
{
int i=;
while(n>a[i++]); ///找到n所在的最小的有规律范围
return i-;
}
int main()
{
constant();
int n;
while(scanf("%d",&n)!=EOF)
{
int lie=find_area(n)-; ///得到在n之前的有规律范围即前面的a部分
int flag=-;
while(flag<)
{
n-=a[lie]; ///此时去掉前面的a部分
if(n==) flag=;
else if(n<=lie+) flag=; //判断是否在m部分内
else
{
n-=lie+; /*减去m部分,余下的后面的a部分同样可细分为a m a三部分,
则再次调用find_area()得到n所在的最小规律范围*/
lie=find_area(n)-;
}
} ///继续循环直到缩小到m部分 修改flag值 跳出循环
if(flag==) printf("m\n");
else if(flag==) printf("o\n");
} return ;
}

USACO2012 Moo /// 模拟 oj21548的更多相关文章

  1. 3016: [Usaco2012 Nov]Clumsy Cows

    3016: [Usaco2012 Nov]Clumsy Cows Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 91  Solved: 69[Submi ...

  2. 【BZOJ3012】[Usaco2012 Dec]First! Trie树+拓补排序

    [BZOJ3012][Usaco2012 Dec]First! Description Bessie has been playing with strings again. She found th ...

  3. [BZOJ2678][Usaco2012 Open]Bookshelf

    P.S. 偶然间发现可以用 markdown... [BZOJ2678][Usaco2012 Open]Bookshelf 试题描述 When Farmer John isn't milking co ...

  4. Censoring【KMP算法+堆栈模拟】

    Censoring 传送门:链接   来源:UPC8203 题目描述 Farmer John has purchased a subscription to Good Hooveskeeping ma ...

  5. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  6. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  7. Python 爬虫模拟登陆知乎

    在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...

  8. HTML 事件(四) 模拟事件操作

    本篇主要介绍HTML DOM中事件的模拟操作. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4.  ...

  9. 模拟AngularJS之依赖注入

    一.概述 AngularJS有一经典之处就是依赖注入,对于什么是依赖注入,熟悉spring的同学应该都非常了解了,但,对于前端而言,还是比较新颖的. 依赖注入,简而言之,就是解除硬编码,达到解偶的目的 ...

随机推荐

  1. CookieUtil.java

    package util; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.n ...

  2. 洛谷 P4178 Tree

    #include<iostream> #include<cstdlib> #include<cstdio> #include<cmath> #inclu ...

  3. 判断url

    //判断url地址 isUrl(str){ let reg = /[0-9a-zA-z]+.(html|htm|shtml|jsp|asp|php|com|cn|net|com.cn|org)$/; ...

  4. LeetCode Array Easy 189. Rotate Array

    ---恢复内容开始--- Description Given an array, rotate the array to the right by k steps, where k is non-ne ...

  5. 五分钟学GIS | 快速生成地图瓦片秘籍

    什么是地图瓦片? 地图瓦片是包含了一系列比例尺.一定地图范围内的地图切片文件.地图瓦片按照金字塔结构组织,每张瓦片都可通过级别.行列号唯一标记.在平移.缩放地图时,浏览器根据金字塔规则,计算出所需的瓦 ...

  6. Redis 管道(pipeline)

  7. 在url里请求id

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. 73. PrintStream(打印流)

    PrintStream(打印流)   打印流可以打印任意类型的数据,而且打印前都会把数据转换成字符串再进行打印(就是把数据存入硬盘中) 编码与解码图例:下面我们来看看一个简单的字节输出流 public ...

  9. js 暂停几秒后刷新或提交

    js源码如下: setTimeout(function () { //内容3秒后执行 }, 3000);

  10. jsp引擎是什么

    1.JSP引擎 执行JSP代码需要在服务器上安装JSP引擎,比较常见的引擎有webLogic和Tomcat.把这些支持JSP的web服务器配置好后,就可以在客户端通过浏览器来访问JSP页面了. 2.J ...