洛谷P2908 [USACO08OPEN]文字的力量Word Power
题目描述
Farmer John wants to evaluate the quality of the names of his N (1 <= N <= 1000) cows. Each name is a string with no more than 1000 characters, all of which are non-blank.
He has created a set of M (1 <= M <= 100) 'good' strings (no
longer than 30 characters and fully non-blank). If the sequence letters of a cow's name contains the letters of a 'good' string in the correct order as a subsequence (i.e., not necessarily all next to each other), the cow's name gets 1 quality point.
All strings is case-insensitive, i.e., capital letters and lower case letters are considered equivalent. For example, the name 'Bessie' contains the letters of 'Be', 'sI', 'EE', and 'Es' in the correct order, but not 'is' or 'eB'. Help Farmer John determine the number of quality points in each of his cow's names.
约翰想要计算他那N(l < =N <= 1000)只奶牛的名字的能量.每只奶牛的名字由不超过1000个字 符构成,没有一个名字是空字体串.
约翰有一张“能量字符串表”,上面有M(1 < =M < =100)个代表能量的字符串.每个字符串 由不超过30个字体构成,同样不存在空字符串.一个奶牛的名字蕴含多少个能量字符串,这个名 字就有多少能量.所谓“蕴含”,是指某个能量字符串的所有字符都在名字串中按顺序出现(不 一定一个紧接着一个).
所有的大写字母和小写字母都是等价的.比如,在贝茜的名字“Bessie”里,蕴含有“Be” “si” “EE”以及“Es”等等字符串,但不蕴含“Ls”或“eB” .请帮约翰计算他的奶牛的名字 的能量.
输入输出格式
输入格式:
* Line 1: Two space-separated integers: N and M
* Lines 2..N+1: Line i+1 contains a string that is the name of the ith cow
* Lines N+2..N+M+1: Line N+i+1 contains the ith good string
输出格式:
* Lines 1..N+1: Line i+1 contains the number of quality points of the ith name
输入输出样例
说明
There are 5 cows, and their names are "Bessie", "Jonathan", "Montgomery", "Alicia", and "Angola". The 3 good strings are "se", "nGo", and "Ont".
"Bessie" contains "se", "Jonathan" contains "Ont", "Montgomery" contains both "nGo" and "Ont", Alicia contains none of the good strings, and "Angola" contains "nGo".
———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
一开始我的想法是四重循环,第1层枚举牛的名字,第2层枚举牛的名字中的每个字符,第3层枚举能量字符串,第4层枚举能量字符串中的每个字符,后来发现这个想法不对,正确的思路是最外层枚举牛的名字,第2层枚举能量字符串,最里层枚举能量字符串中的每个字符。如果枚举的能量字符串里的字符在牛的名字里出现了,那么枚举下一个字符,当整个字符串全部枚举完成时,代表这个奶牛的名字“蕴含”这个能量字符串,能量+1,循环完后输出总能量就行了。
#include<iostream>
using namespace std;
int n,m,s;
string a[],b[];
int main()
{
cin>>n>>m;
for(int i=;i<=n;i++)
{
cin>>a[i];
for(int j=;j<a[i].length();j++)
if(a[i][j]>='A'&&a[i][j]<='Z')
a[i][j]+=;
}
for(int i=;i<=m;i++)
{
cin>>b[i];
for(int j=;j<b[i].length();j++)
if(b[i][j]>='A'&&b[i][j]<='Z')
b[i][j]+=;
}
for(int i=;i<=n;i++)
{
s=;
for(int j=;j<=m;j++)
{
int l=;
for(int k=;k<a[i].length();k++)
{
if(a[i][k]==b[j][l])
l++;
if(l==b[j].length())
{
s++;
break;
}
}
}
cout<<s<<endl;
}
return ;
}
代码
洛谷P2908 [USACO08OPEN]文字的力量Word Power的更多相关文章
- 洛谷——P2908 [USACO08OPEN]文字的力量Word Power
P2908 [USACO08OPEN]文字的力量Word Power 题目描述 Farmer John wants to evaluate the quality of the names of hi ...
- 洛谷 P2908 [USACO08OPEN]文字的力量Word Power
P2908 [USACO08OPEN]文字的力量Word Power 题目描述 Farmer John wants to evaluate the quality of the names of hi ...
- bzoj1622 / P2908 [USACO08OPEN]文字的力量Word Power
P2908 [USACO08OPEN]文字的力量Word Power 第一眼:AC自动机(大雾) 直接暴力枚举即可. 用<cctype>的函数较方便(还挺快) $isalpha(a)$:$ ...
- 洛谷P2905 [USACO08OPEN]农场危机Crisis on the Farm
P2905 [USACO08OPEN]农场危机Crisis on the Farm 题目描述 约翰和他的奶牛组建了一只乐队“后街奶牛”,现在他们正在牧场里排练.奶牛们分成一堆 一堆,共1000)堆.每 ...
- 洛谷——P2910 [USACO08OPEN]寻宝之路Clear And Present Danger
P2910 [USACO08OPEN]寻宝之路Clear And Present Danger 题目描述 Farmer John is on a boat seeking fabled treasur ...
- 洛谷 P2906 [USACO08OPEN]牛的街区Cow Neighborhoods | Set+并查集
题目: https://www.luogu.org/problemnew/show/P2906 题解: 垃圾水题 #include<cstdio> #include<algorith ...
- 洛谷 P2909 [USACO08OPEN]牛的车Cow Cars
传送门 题目大意: m个车道. 如果第i头牛前面有k头牛,那么这头牛的最大速度会 变为原本的速度-k*D,如果速度小于l这头牛就不能行驶. 题解:贪心 让初始速度小的牛在前面 代码: #include ...
- 洛谷P1435 回文字串(dp)
题意 题目链接 回文词是一种对称的字符串.任意给定一个字符串,通过插入若干字符,都可以变成回文词.此题的任务是,求出将给定字符串变成回文词所需要插入的最少字符数. 比如 “Ab3bd”插入2个字符后可 ...
- 洛谷 P2905 [USACO08OPEN]农场危机Crisis on the Farm
题目描述 约翰和他的奶牛组建了一只乐队“后街奶牛”,现在他们正在牧场里排练.奶牛们分成一堆 一堆,共1000)堆.每一堆里,30只奶牛一只踩在另一只的背上,叠成一座牛塔.牧场 里还有M(1 < ...
随机推荐
- 【手撸一个ORM】第十步、数据操作工具类 MyDb
说明 其实就是数据库操作的一些封装,很久不用SqlCommand操作数据库了,看了点园子里的文章就直接上手写了,功能上没问题,但写法上是否完美高效无法保证,建议有需要的朋友自己重写,当然如果能把最佳实 ...
- Java文件与io——缓冲流
对文件或其它目标频繁的读写操作,效率低,性能差. 使用缓冲流的好处,能够更高效的读写信息,原理是将数据先缓冲起来,然后一起写入或者读取出来. BufferedInputStream:为另一个输入流添加 ...
- Hadoop InputFormat详解
InputFormat是MapReduce编程模型包括5个可编程组件之一,其余4个是Mapper.Partitioner.Reducer和OutputFormat. 新版Hadoop InputFor ...
- 一,JVM 自带命令行工具之JPS
jps:虚拟机进程状况工具 可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(main class,class()函数所在的类)的名称,以及这些进程的本地虚拟机的唯一ID. jps命令格式: jps ...
- 性能测试学习第九天_脚本编写以及controller场景
创建java脚本 环境配置: 安装jdk(lr11最高支持java1.6) 配置环境变量 在lr选择java Vuser协议 脚本结构: 一般在init中编写初始化脚本,在action中编写业务流程, ...
- [JQuery] Using skill in JQuery
Using skill of JQuery 获取兄弟节点 $('#id').siblings() 当前元素的所有兄弟节点 $('#id').prev() 当前元素的前一个兄弟节点 $('#id').p ...
- springboot+Jsp部署linux
这个springboot部署到linux,我之前一直都是在linux上使用tomcat部署,但是这样部署容易出现EL表达式无法使用导致项目报错:后来发现了一种更简单的方法,就是将项目打成war包,注册 ...
- Flask之目录结构
学习Flask,整合其目录结构也是比较重要的.一个最基础的Flask目录如下所示: 一.SQLAlchemy-utils 由于sqlalchemy中没有提供choice方法,所以借助SQLAlchem ...
- mui的上拉下载和下拉刷新
head部分(引入mui) <link href="./resources/css/mui.min.css" rel="stylesheet" /> ...
- [转]latex输入数学符号速查
基本运算 乘法 x×y x \times y 乘方 23x 2^{3x} 平方根 x+y−−−−−√ \sqrt {x + y} 除法 x÷y x \div y 分数 xy \frac{x}{y} 异 ...