codechef+Name Reduction
来源:互联网 发布:mac os 破解软件 编辑:程序博客网 时间:2024/04/29 19:55
Name Reduction
Problem code: NAME1
In an attempt to reduce the growing population, Archer was asked to come up with a plan.Archer being as intelligent as he is, came up with the following plan:
If N children, with names C1, C2, ..., CN, are born to parents with namesA and B, and you consider C to be theconcatenation of all the names of the children, i.e.C = C1 + C2 + ... + CN (where + is concatenation operator), then C should be a substring of one of the permutations ofA + B.
You are given the task to verify whether the names parents propose to give their children are in fact permissible by Archer's plan or not.
Input
The first line contains an integer T, the number of test cases.T test cases follow. Each test case stats with a line containing two space separated stringsA and B, denoting the names of the parents. The next line contains a single integerN denoting the number of children A and B are planning to have. Following this are N lines, thei'th line containing Ci, the proposed name for thei'th child.
Output
For each test case output a single line containing "YES"
if the names are permissible by Archer's plan, otherwise print"NO"
. (quotes are meant for clarity, please don't print them)
Constraints
- 1 ≤ T ≤ 100
- 1 ≤ N ≤ 1000
- The lengths of all the strings including A, B, and all Ci will be in the range [1, 40000], both inclusive. All these strings will contain only lowercase English letters.
- The combined lengths of all names of children will not exceed the combined length of the names of their parents.
Example
Input:3tom marvoloriddle2lordvoldemortcheap up1heapcupbruce wayne2batmanOutput:YESYESNO
Explanation:
Let Y denote the concatenation of names of all the children, andX denote the concatenation of the names of the parents.
Case 1: Here X = "tommarvoloriddle", and Y = "lordvoldemort". Consider Z = "iamlordvoldemort". It is not difficult to see thatZ is a permutation of X and Y is a substring ofZ. Hence Y is a substring of a permutation of X, so the answer is "YES".
Case 2: Here X = "cheapup", and Y = "heapcup". SinceY in itself is a permutation of X, and as every string is a substring of itself,Y is a substring of X and also a permutation ofX. Hence "YES".
Case 3: Here X = "brucewayne", and Y = "batman". As "t" is not present inX, "t" wont be present in any permutation of X, hence the answer is "NO".
/*题目大意:给你双亲的姓名,然后给你n个孩纸的姓名,问你双亲合起来的字符串能够、否经过变形包含孩纸的字符串和;思路:将双亲和孩纸字符串按字典序排序,然后遍历即可*/#include<iostream>#include<string>#include<algorithm>using namespace std;int main(){int t;cin>>t;while(t--){string a,b,c;cin>>a>>b;a=a+b;sort(a.begin(),a.end());int i,n;cin>>n;for(i=0;i<n;i++){cin>>b;c+=b;}sort(c.begin(),c.end());int k=0;for(i=0;i<a.length();i++)if(a[i]==c[k])k++;if(k==c.length())cout<<"YES"<<endl;elsecout<<"NO"<<endl;//cout<<a<<" "<<c<<endl;}return 0;}
- codechef+Name Reduction
- codechef+Your Name is Mine
- reduction
- CodeChef
- CodeChef
- CodeChef
- CodeChef
- (CodeChef
- CodeChef
- CodeChef
- CodeChef
- CodeChef
- CodeChef
- CodeChef
- 测试reduction
- List Reduction
- uva10670Work Reduction
- String Reduction
- ZOJ 1602 Multiplication Puzzle
- OpenCV图像旋转与缩放
- hdu2822
- 利用Murmurhash实现Bloom filter(布隆过滤器)
- hdu-1577
- codechef+Name Reduction
- VM上网配置
- Java中session的过时时间配置,session过时的优先级
- c#基础知识学习笔记 - 索引器
- Hadoop源代码分析(一)
- USING THE ANDROID NDK TOOLCHAIN AS A STANDALONE COMPILER
- request 分页乱码问题
- opencv鼠标响应事件学习整理
- 建立多线程服务器