洛谷P2264 情书

Posted zbtrs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了洛谷P2264 情书相关的知识,希望对你有一定的参考价值。

P2264 情书

    • 88通过
    • 971提交
  • 题目提供者lin_toto
  • 标签字符串
  • 难度提高+/省选-

提交该题 讨论 题解 记录

最新讨论

  • yyy快把题目改回来
  • 这题的题目好逗啊。。。
  • 情书std

题目背景

一封好的情书需要撰写人全身心的投入。崔君阳同学看上了一中的许芳煜想对她表白,但却不知道自己写的情书是否能感动她,现在他带着情书请你来帮助他。

PS:御坂 美琴?高坂 穂乃果?アズキ?ワニら?チョコラ最高!

题目描述

为了帮助他,我们定义一个量化情书好坏的标准感动值。判断感动值的方法如下:

1.在情书的一句话中若含有给定词汇列表中的特定单词,则感动值加1,但每一单词在同一句话中出现多次感动值不叠加,不同单词不受影响。保证输入的单词不重复。

2.每句话以英文句号定界。

3.全文不区分大小写。

输入输出格式

输入格式:

 

第一行包含一个数字n,表示导致感动值提升的词汇列表中单词的数量,随后n行是给定单词,每行一个。保证单词只包含英文字母。

最后一行为情书正文,保证只包含以下几种字符: 英文字母、数字、空格、英文逗号、英文句号。

 

输出格式:

 

一个数字g,表示情书带来的感动值。

 

输入输出样例

输入样例#1:
3
love
so
much
I love you so much.
输出样例#1:
3

说明

对于所有的数据,保证1 ≤ n,m,k ≤ 100,每个单词不超过50字符,全文不超过1000字符。

分析:读懂题目非常关键,单词是连续出现的,而不是寻找子串,而且单词之间会有符号分割,左右用string保存,不断地更新string,然后与每个没有出现过的单词进行比对即可,要注意这种字符串的题目大多都有一个enter在输入里,所以在输入情书之前要加上一个getchar()来过滤enter.

#include <cstdio>
#include <string>
#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;
const int maxn = 110;

int vis[maxn],ans,n;
string s[maxn],sentence;

string zhuanhuan(string x)
{
    for (int i = 0; i < x.size(); i++)     //统一将大写转换为小写
        if (x[i] >= A && x[i] <= Z)
            x[i] = x[i] - A + a;
    return x;
}

int main()
{
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
        cin >> s[i];
    getchar();   //读取enter.
    getline(cin, sentence);
    for (int i = 0; i < sentence.size(); i++)
    {
        if (sentence[i] == .)
            memset(vis, 0, sizeof(vis));
        else
            if (sentence[i] !=   && sentence[i] != ,)
            {
            string temp;
            for (; sentence[i] !=   && sentence[i] != , && sentence[i] != .; i++)
                temp += sentence[i];
            i--;
            for (int j = 1; j <= n; j++)
                if (zhuanhuan(temp) == zhuanhuan(s[j]) && !vis[j])
                {
                ans++;
                vis[j] = 1;
                break;
                }
            }
    }
    printf("%d\n", ans);

    return 0;
}

 

以上是关于洛谷P2264 情书的主要内容,如果未能解决你的问题,请参考以下文章

P2264 情书 Trie匹配

P2264 情书(字符串hash90分)

P2264 ??????

题解 LG P2264

大学生程序猿IT情书“2014爱的告白挑战赛”获奖名单及优秀情书展示系列之 - 三行代码情书

这是一封摘抄的情书有点长你读不完也没关系