题海拾贝:英语作文(map)
Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!
我的博客:<但凡.
我的专栏:《编程之路》、《数据结构与算法之美》、《题海拾贝》
欢迎点赞,关注!
1、题目
2、题解
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
#include<map>
typedef long long LL;
using namespace std;
int main()
{
LL N, P;
cin >> N >> P;
string tem;
char ch;
LL num;
map<string, int> mp;//红黑树
for (int i = 0;i < N;i++)
{
cin >> tem;
cin >> num;
mp[tem] = num;
}
//读入作文
string ret;
LL sum=0;
while (scanf("%c",&ch)!=EOF)
{
if (ch!='.'&& ch != ','&& ch != '!'&& ch != '?'&&ch!=' '&&ch!='\n')
{
ret += ch;
}
//说明读完上个单词了
else
{
sum = (sum + mp[ret]) % P;
//这里如果这个词没出现过,插入进红黑树了也没关系,因为默认值是0
ret = "";
}
}
cout << sum<<endl;
return 0;
}