zoukankan      html  css  js  c++  java
  • POJ 3193 Cow Phrasebook(简单字符串的处理)

    Cow Phrasebook

    Time Limit: 1000MS

     

    Memory Limit: 65536K

    Total Submissions: 2358

     

    Accepted: 796

    Description

    Ever the innovator, Farmer John is teaching cows to speak some phrases in human language. He writes each new phrase the cows learn in his phrase book, a total of M (1 <= M <= 1,000) so far. 

    When Farmer John is on a vacation, he can only communicate with his cows by telephone. Being an active vacationer, FJ visits beaches and fine restaurants when away from the farm. When he returns, his answering machine is full of N (1 <= N <= 10,000) messages, many potentially from the cows.
     

    FJ vacations frugally and thus gets poor telephone service. Many of the recorded messages cut off before they are complete. Help FJ determine whether the recorded messages are from the phrasebook by determining if the message begins a phrase.
     

    You will be given the phrasebook and a set of texts of the recorded messages. Count the number of recorded messages that are the beginning (prefix) of a phrase from the phrase book.
     

    Complete phrases are from 1 to 60 characters in length, each of which is either a letter (upper or lower case), a period (.), comma (,), question mark (?) or space. There are no leading spaces, trailing spaces, or double spaces in a phrase. Comparisons are case-sensitive, and a phrase is in fact, considered to be prefix of itself.

    Input

    Line 1: Two space-separated integers, M and N 

    Lines 2..M+1: Phrases from the phrase book, one per line.
     

    Lines M+2..M+N+1: Phrases spoken by cows, one per line.

    Output

    Line 1: A single integer that is the count of the number of messages that were proper prefixes of the phrasebook.

    Sample Input

    3 4

    I will not buy this record, it is scratched.

    My hovercraft is full of eels.

    Do you want to come back to my place? Bouncy, bouncy.

    I will not buy this rec

    My helicopter is

    Do you want to come back

    I will not buy this cat.

    Sample Output

    2

    Hint

    Explanation of the sample: 

    Three input phrases (record, eels, bouncy); four query phrases (buy, helicopter, come back, cat).
     

    The messages 'I will not buy this rec' and 'Do you want to come back' are valid prefixes of the phrasebook.

    Source

    USACO 2006 February Bronze

     解题报告:这个题就是简单地字符串的匹配问题,暴力匹配就行;

    代码如下:

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    using namespace std;
    const int MAX = 1010;
    char sentence[MAX][65];
    int main()
    {
        int N, M, i, j, ans, k;
        char str[65];
        scanf("%d%d", &M, &N);
    	getchar();
        for (i = 0; i < M; ++i)
        {
            gets(sentence[i]);
        }
        int len;
    	ans = 0;
        for (i = 0; i < N; ++i)
        {
            gets(str);
            len = strlen(str);
            for (j = 0; j < M; ++j)//暴力枚举
            {
    			for (k = 0; k < len; ++k)
    			{
    				if (str[k] != sentence[j][k])
    				{
    					break;
    				}
    			}
                if (k == len)//若完全匹配
                {
    				ans ++;
                    break;
                }
            }
        }
        printf("%d\n", ans);
        return 0;
    }
    

      

  • 相关阅读:
    Construct Binary Tree From Inorder and Postorder Traversal
    Construct Binary Tree From Preorder and Inorder Traversal **
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
    Flatten Binary Tree to Linked List
    E1总结和CISCO E1配置
    Dial-peer匹配顺序
    CUCM来实现PLAR
    CUCM实现Extension Mobility
    语音笔记20 URI
  • 原文地址:https://www.cnblogs.com/lidaojian/p/2436591.html
Copyright © 2011-2022 走看看