[USACO 2012 Feb B]Moo - 规律

简介: 题意:某字符串由m o 两个字符构成而且构成的字符串为前一个字符串 + m + o * (i+2) + 前一个字符串 *(i+2)指的是数量问字符串第n个字符是什么思路:在从一个字符串构成下一个字符串的时候,是有一定的规律的,所以我们可以很轻松地找到规律然后就可以递归地找,满足规律的时候直接输出

评测网址


92bfdf90a8e746d9943738b4dae932a1.png

823099d599ec4a58876e71718b2f715d.png


题意:


字符串 由m o 两个字符构成

而且构成的字符串为前一个字符串 + m + o * (i+2) + 前一个字符串 *(i+2)指的是数量

问字符串第n个字符是什么


思路:


在从一个字符串构成下一个字符串的时候,是有一定的规律的,所以我们可以很轻松地找到规律

然后就可以递归地找,满足规律的时候直接输出


ll a[maxn], n;
char ans[5] = {'m', 'm', 'o', 'o'};
void f(ll num) {
    int pos = 0;
    if(num <= 3) {
        cout << ans[num] << endl;
        return ;
    }
    for(int i = 1; i <= 100; i++) {
        if(num < a[i]) {
            pos = i - 1;
            break;
        }
    }
    debug(pos);
    if(num  - a[pos] <= pos + 4) {
        if(num - a[pos] == 1) {
            puts("m");
            return ;
        } else {
            puts("o");
            return ;
        }
    } else
        f(num - a[pos] - pos - 4);
}
int main() {
    n = read;
    a[0] = 3;
    for(int i = 1; i <= 100; i++) {
        a[i] = a[i - 1] * 2 + i + 3;
    }
    for(int i=1;i<=4;i++){
        cout << a[i] << " ";
    }
    puts("");
    f(n);
    return 0;
}
/**
**/




目录
相关文章
|
9天前
USACO1.3 修理牛棚
USACO1.3 修理牛棚
|
8月前
[USACO 2010 Feb S]Chocolate Eating
[USACO 2010 Feb S]Chocolate Eating
|
8月前
|
算法
[USACO 2007 Jan S]Protecting the Flowers
[USACO 2007 Jan S]Protecting the Flowers
|
12月前
luogu CF776D The Door Problem(2-sat问题)
luogu CF776D The Door Problem(2-sat问题)
47 0
|
移动开发
洛谷P2639-[USACO09OCT]Bessie‘s Weight Problem G(01背包)
洛谷P2639-[USACO09OCT]Bessie‘s Weight Problem G(01背包)
洛谷P2639-[USACO09OCT]Bessie‘s Weight Problem G(01背包)
[USACO 2012 Feb G]Cow Coupons----贪心&带悔(看完稳AC)
意思是有n头牛,现在有k张优惠券以及m元,每头牛有一个原始价格和折扣价格,问最多能买多少牛 一开始的方法很简单,由于题目里面说了折扣价格一定比原始价格便宜,所以说首先按照折扣价格从小大大进行排序,将前k个牛的花费看作是折扣之后的价格,而将后面的花费看作是原始价格,然后重新将价值从小到大进行排序,尽可能的多选
203 0
[USACO 2012 Feb G]Cow Coupons----贪心&带悔(看完稳AC)
洛谷P2871-[USACO07DEC]Charm Bracelet S(01背包模板题)
洛谷P2871-[USACO07DEC]Charm Bracelet S(01背包模板题)
洛谷P2871-[USACO07DEC]Charm Bracelet S(01背包模板题)
[POJ 3683] Priest John‘s Busiest Day | 2-SAT +Tarjan缩点跑拓扑排序
题意: 给出n个婚礼,每个婚礼有个开始的时间和结束的时间,在婚礼期间,要举行持续时间为D的活动,这个活动只能在婚礼期间的前D时间内举行,或者是在婚礼期间的后D时间内举行,问能否安排一种方式使得能够参与n个婚礼的活动 思路: 每个活动有两个选择,而且还要满足一定的条件,这显然是一个2-SAT问题 方法: 2-SAT + Tarjan 首先根据两种选择是否首尾冲突进行连边,如果冲突,则连对立的边
78 0
洛谷P6207-[USACO06OCT] Cows on Skates G(DFS记录路径)
洛谷P6207-[USACO06OCT] Cows on Skates G(DFS记录路径)