兔子的名字
2020-06-29 05:04
76 查看
##字符串处理 title: 链接:https://ac.nowcoder.com/acm/problem/20859 来源:牛客网 兔子发现序列的名字都是数字,实在太无聊了,于是兔子开始研究兔子的名字。 现在兔子手上有 n 个名字 Ti 和 m 个可爱词汇Sj,兔子对每一个名字 Ti 定义了一个可爱度,如果 Ti 中出现了一个可爱的单词 Sj, 那么 Ti 就有 1 点可爱值,最后的总可爱值就是 Ti 的可爱度,这里的出现指 Sj 是 Ti 的子序列。 例如 abc 是 aebdc 的子序列,abc 也是 abcd 的子序列。 现在兔子想知道每一个名字的可爱度。 输入: 第 1 行两个整数 n 和 m,表示名字个数和可爱词汇个数。 接下来 n 行,第 i 行是字符串 Ti ,表示兔子手里的名字。 再接下来 m 行,每行一个字符串 Sj ,表示兔子手里的可爱词汇。 输出: 输出共 n 行,每行一个整数,表示每一个名字的可爱度。 示例: 输入 5 3 Bunny Rabbit TuZi MianZi Sunny uny i a 输出 1 2 1 2 1 备注: 对于 40%的数据 1 ≤ n ≤ 100 对于 100%的数据 1 ≤ n ≤ 1000,1 ≤ m ≤ 100,1 ≤| Ti |≤ 100,1 ≤|Si|≤ 30 |s| 表示 s 的长度 请注意,字符串区分大小写。 题目分析:对于n个字符串查找字串,是否包含给定的m个字串,直接暴力就行。
#include<bits/stdc++.h> using namespace std; char name[1000][101],cute[100][31]; int main() { int n,m; cin >> n >> m; for(int i=0;i<n;i++) scanf("%s",name[i]); for(int i=0;i<m;i++) scanf("%s",cute[i]); for(int i=0;i<n;i++) { int ans=0; for(int k=0;k<m;k++) { int num=0,x=0; for(int y=0;name[i][y]!='\0'&&cute[k][x]!='\0';y++) { if(name[i][y]==cute[k][x]){num++;x++;} if(num==x&&cute[k][x]=='\0'){ans++;break;} } } cout << ans << endl; } return 0; }
题目不难,注意字符串的输入和处理。
相关文章推荐
- 修改IOS app名字
- HDU 4544 湫湫系列故事——消灭兔子
- 高科技公司名字的由来
- .NET MVC 在action中,过滤器中,或视图中,如何分别获取 当前请求的 控制器/视图/区域 的名字
- 嘉年华--好好听的名字噢!
- 华为机试—输出包含名字的个数和字符串
- 如何在C#中存取以关键字作为名字的元素
- android 中对 gps 默认关闭+语言默认中文的设置+时区设置+修改系统名字+修改系统默认时间+修改屏幕休眠时间+修改usb debug默认关闭+mtk修改默认字体大小
- C++继承体系中名字遮挡问题
- BZOJ 4027: [HEOI2015]兔子与樱花 树上dp
- 我的注册名字是delphier...
- MFC中为ListControl控件添加NM_CLICK消息选择控件中的文件并获取文件路径和文件名字
- 获取一个类的所有属性、方法的名字
- Quartz创建多个不同名字的scheduler实例
- 想看你的名字用1000种字体怎样写吗?
- java web程序中项目名的更改(http://localhost:8080/)后面的名字
- 有一天兔子在一个山洞前写东西
- 锤子新机将在今年(2015)夏天发布 名字不叫小锤子
- 英文名字及含义
- python实现根据主机名字获得所有ip地址的方法