zoukankan      html  css  js  c++  java
  • UVA 494 Kindergarten Counting Game map

    Everybody sit down in a circle. Ok. Listen to me carefully.
    “Woooooo, you scwewy wabbit!”
    Now, could someone tell me how many words I just said?
    Input
    Input to your program will consist of a series of lines, each line containing multiple words (at least one).
    A “word” is defined as a consecutive sequence of letters (upper and/or lower case).
    Output
    Your program should output a word count for each line of input. Each word count should be printed
    on a separate line.
    Sample Input
    Meep Meep!
    I tot I taw a putty tat.
    I did! I did! I did taw a putty tat.
    Shsssssssssh ... I am hunting wabbits. Heh Heh Heh Heh ...
    Sample Output
    2
    7
    10
    9

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<string>
    #include<map>
    using namespace std;
    #define maxn 1010
    int main()
    {
        char c;
        int j;
        char str[maxn];
        int num = 0;
        map<string,int>mm;
        while(~(c = getchar()))
        {
            if(num == 0)
            {
                memset(str,0,sizeof(str));
                mm.clear();
                j = 0;
            }
            if(!isalpha(c)&&c!='
    ')//注意只要不是空格都可以将一串字符隔开成几个单词
            {
                str[j] = '';
                mm[str]++;
                memset(str,0,sizeof(str));
                j = 0;
            }
            else if(c == '
    ')
            {
                num = 0;
                str[j] = '';
                mm[str]++;
                int count = 0;
                for(map<string,int>::iterator it = mm.begin();it!=mm.end();it++)
                {
                    //cout << it -> first << endl;
                    if(isalpha(it->first[0]))
                    {
                        //cout << it -> first[0] << endl;
                        count += it -> second;
                    }
                    //cout << count << endl;
                }
                cout << count << endl;
                continue;
            }
            else str[j++] = c;
            num++;
        }
        return 0;
    }
    彼时当年少,莫负好时光。
  • 相关阅读:
    CSS Sprite笔记
    前端分页页码静态部分制作
    有趣的网页小部件笔记
    Lintcode 85. 在二叉查找树中插入节点
    Lintcode 166. 主元素
    网页失去焦点标题变化效果
    Lintcode 166. 链表倒数第n个节点
    Lintcode 157. 判断字符串是否没有重复字符
    Lintcode 175. 翻转二叉树
    Lintcode 372. O(1)时间复杂度删除链表节点
  • 原文地址:https://www.cnblogs.com/l609929321/p/6832808.html
Copyright © 2011-2022 走看看