zoukankan      html  css  js  c++  java
  • COW

    COW

    时间限制: 1 Sec  内存限制: 64 MB
    提交: 41  解决: 18
    [提交][状态][讨论版]

    题目描述

    Bessie the cow has stumbled across an intriguing inscription carved into a large stone in the middle of her favorite grazing field. The text of the inscription appears to be from a cryptic ancient language involving an alphabet with only the three characters C, O, and W. Although Bessie cannot decipher the text, she does appreciate the fact that C, O, and W in sequence forms her favorite word, and she wonders how many times COW appears in the text.

    Bessie doesn't mind if there are other characters interspersed within COW, only that the characters appear in the correct order. She also doesn't mind if different occurrences of COW share some letters. For instance, COW appears once in CWOW, twice in CCOW, and eight times in CCOOWW.

    Given the text of the inscription, please help Bessie count how many times COW appears.

    输入

    The first line of input consists of a single integer N <= 10^5. The second line contains of a string of N characters, where each character is either a C, O, or W.

    输出

     Output the number of times COW appears as a subsequence, not necessarily contiguous, of the input string.

    Note that the answer can be very large, so make sure to use 64 bit integers ("long long" in C++, "long" in Java) to do your calculations.

    样例输入

    6
    COOWWW
    

    样例输出

    6
    【分析】模拟一下就行了
    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <algorithm>
    #include <climits>
    #include <cstring>
    #include <string>
    #include <set>
    #include <map>
    #include <queue>
    #include <stack>
    #include <vector>
    #include <list>
    #include<functional>
    #define mod 1000000007
    #define inf 0x3f3f3f3f
    #define pi acos(-1.0)
    using namespace std;
    typedef long long ll;
    const int N=100005;
    const int M=15005;
    char s[N];
    int n,m;
    ll sc=0,sco=0,scow=0;
    int main(){
        scanf("%d%s",&n,s);
        for(int i=0;i<n;i++){
            if(s[i]=='C')sc++;
            if(s[i]=='O')sco+=sc;
            if(s[i]=='W')scow+=sco;
        }
        printf("%lld
    ",scow);
        return 0;
    }
    View Code

  • 相关阅读:
    关于搭建系统直播和Thinkphp的杂谈(持续更新)
    linux下phpstudy的搭建以及网站的搭建
    java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
    IntelliJ IDEA 破解
    遍历表格
    Ajax简单示例
    [转shasiqq]@Param 注解在Mybatis中的使用 以及传递参数的三种方式
    一些python学习的链接
    python Scrapy安装错误解决
    SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoade
  • 原文地址:https://www.cnblogs.com/jianrenfang/p/5791140.html
Copyright © 2011-2022 走看看