zoukankan      html  css  js  c++  java
  • UESTC 486 Good Morning (水题+坑!)

    题意:给你一行字符串,让你找其中蕴含的“good morning"的次数。

    析:看起来很水么,多简单,只有统计一下其中字母的出现的次数,然后除以相应的个数。

    但是很不幸的是WA,而且是在test1,说明你样例都没过应该。这就是题的坑。

    1.坑是这个空格也算一部分,第二个样例可能最后一个空格没打上,所以误导了。但是也这样也是WA。

    为什么呢?因为还少考虑了一种情况。

    2.“good morningood morning"这个是算2个的,也就是说g这个字母要特殊考虑,也就是g只要比次数多1就行。

    代码如下:

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <queue>
    #include <vector>
    #include <cstring>
    #include <map>
    
    using namespace std;
    const int maxn = 10000 + 10;
    char s[maxn];
    int a[30];
    
    int main(){
        int T;  cin >> T;
        getchar();
        for(int kase = 1; kase <= T; ++kase){
            gets(s);
            int len = strlen(s);
            memset(a, 0, sizeof(a));
            int t = 0;
            for(int i = 0; i < len; ++i)
                if(' ' == s[i]) ++t;
                else if(s[i] >= 'a')  ++a[s[i]-'a'];
    
            int m = a['d'-'a'];
            m = min(m, a['i'-'a']);
            m = min(m, a['r'-'a']);  m = min(m, a['o'-'a']/3);
            m = min(m, a['m'-'a']);  m = min(m, a['n'-'a']/2);
            m = min(m, t);   m = min(m, a['g'-'a']-1);
            printf("Case #%d: %d
    ", kase, m);
        }
        return 0;
    }
    
  • 相关阅读:
    浅谈prufer编码
    数据结构训练之三
    博弈论训练之一
    动态规划训练之十三
    杂题训练之七
    奇技淫巧训练之八
    浅谈博弈论
    浅谈卡特兰数
    奇技淫巧训练之七
    浅谈概率期望的一些例题
  • 原文地址:https://www.cnblogs.com/dwtfukgv/p/5552609.html
Copyright © 2011-2022 走看看