hdu-5707-Combine String

原创 2016年06月01日 09:49:43

                                                          Combine String

                                                                     Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)
                                                                     Total Submission(s): 151    Accepted Submission(s): 78


Problem Description
Given three strings a, b and c, your mission is to check whether c is the combine string of a and b.
A string c is said to be the combine string of a and b if and only if c can be broken into two subsequences, when you read them as a string, one equals to a, and the other equals to b.
For example, ``adebcf'' is a combine string of ``abc'' and ``def''.
 

Input
Input file contains several test cases (no more than 20). Process to the end of file.
Each test case contains three strings a, b and c (the length of each string is between 1 and 2000).
 

Output
For each test case, print ``Yes'', if c is a combine string of a and b, otherwise print ``No''.
 

Sample Input
abc def adebcf abc def abecdf
 

Sample Output
Yes No
题意:给定a,b,c三个串,问c能否按序分成a和b串,不要求连续。
题目链接:Combine String
解题思路:
直接模拟,1.统计处a,b,c串各个字符出现的次数,看a,b串的某个字符出现次数的和是否与c串中的相等。
2.从头往后扫描c串,看是否能按序找到a,b串。
代码:
//hdu-5707-Combine String

#include
#include
#include
#include

using namespace std;

map mpa,mpb,mpc;
int main()
{
    string a,b,c;
    int i,lena,lenb,lenc,x,y,flag;
    while(cin>>a>>b>>c){
        flag=1,x=y=0;
        mpa.clear(),mpb.clear(),mpc.clear();
        lena=a.length(),lenb=b.length(),lenc=c.length();
        for(i=0; i :: iterator it=mpc.begin();
        for( ; it!=mpc.end() ;it++){
            if(mpa[it->first] + mpb[it->first] != it->second ){  //判断a和b,各个字符出现的次数和c中的是否一样
                flag=0;                                          //因为c能且只能分成a和b串
                break;
            }
        }
        if(flag && x==lena && y == lenb) cout<<"Yes";   //a和b在c中能按序找到
        else                                cout<<"No";
        cout<
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

HDU-5707-Combine String【2016CCPC女生专场】【DP】

HDU-5707-Combine String 题目大意:这道题目看样例比较好懂。就是判断 1.a,b为c的字串 2.a串长度+b串长度相等 3.字串顺序不能反 题目思路:刚开始想贪心,后来考虑dp。...

HDU 5707 Combine String (DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5707 题面: Combine String Time Limit: 2000/100...

【2016杭电女生赛1006】【DP 类似LCS】Combine String 字符串c拆子串 能否恰好分成a与b

#include #include #include #include #include #include #include #include #include #include #include #...

DP 杭电女生赛07题 Combine String

本来是打算贪心水一发,然后发现如果出现第一个和第二个序列中出现同样元素的情况的时候是会造成误判的, 也可以递归的算法,但是应该会TLE。所以就用dp啦啦 dp真是个好算法 dp[i][j]=(dp[i...

combine.exe

  • 2009年03月23日 18:03
  • 27KB
  • 下载

Hadoop中MapReduce中combine、partition、shuffle的作用是什么?在程序中怎么运用?

InputFormat类:该类的作用是将输入的文件和数据分割成许多小的split文件,并将split的每个行通过LineRecorderReader解析成,通过job.setInputFromatCl...

41、Power Query-Text.Combine函数进阶2

本节继续讲解Power Query-Text.Combine函数进阶。 下面看一个更加有趣的例子。 比如上图,有多列,我们需要求出唯一值,标准有两个,分别是以左边为基准和以右边为基准。 ...

Android 4.0后,自定义Title报错 You cannot combine custom titles with other title feature

运行项目时,有时LogCat报错: AndroidRuntimeException: You cannot combine custom titles with other title feature...

Android 4.0后,自定义Title报错 You cannot combine custom titles with other title feature

运行项目时,有时LogCat报错: AndroidRuntimeException: You cannot combine custom titles with other title featur...

Hadoop--Mapreduce计算每个人成绩的平均数,用combine函数加速

import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Config...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdu-5707-Combine String
举报原因:
原因补充:

(最多只允许输入30个字)