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<
版权声明:本文为博主原创文章,未经博主允许不得转载。

Combine String

Given three strings aa, bb and cc, your mission is to check whether cc is the combine string of ...
  • wanghandou
  • wanghandou
  • 2017年04月19日 19:25
  • 266

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

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

map,string string string string string!!!!!!!!!

字典树一水题,但是我表示压力很大。。。因为对字典树还不熟悉。。。~~~~(>_ 题目出处:http://acm.hdu.edu.cn/showproblem.php?pid=1075       ...
  • NO_WONDER
  • NO_WONDER
  • 2011年08月15日 02:04
  • 388

1001 string string string

#include #include #include #include #include #include using namespace std; const int T=1e5+1000; cha...
  • sicnu_team1
  • sicnu_team1
  • 2017年09月10日 19:36
  • 63

string & String

 To referencethe string type in programs, we can have several choices:1.    including a “using Syste...
  • vivian_wind
  • vivian_wind
  • 2006年10月21日 02:25
  • 252

String string = ""; 与String string = new String();的区别

package po; import org.apache.commons.httpclient.UsernamePasswordCredentials; import org.omg.CORBA....
  • snomyc
  • snomyc
  • 2014年04月14日 17:31
  • 7503

String^与string的相互转换

最近在做功率控制的实验时,需要对计算机的每个核的利用率进行计算和写出到文件。采用了c++调用c#dll的方法,在.net中string是需要用gcnew进行初始化,先来看看gcnew和普通的new的区...
  • JIANGHUICONG
  • JIANGHUICONG
  • 2015年12月09日 13:58
  • 2539

hdu 6194 string string string

转载自http://blog.csdn.net/My_stage/article/details/77936442 一定要看懂了再转!!! 题意: 给一个字符串,和一个k,问你串中出现k次...
  • yizhangbiao
  • yizhangbiao
  • 2017年09月15日 15:35
  • 110

HDU 6194 string string string

HDU 6194 string string string(后缀自动机)
  • hhhhhh_12
  • hhhhhh_12
  • 2017年09月13日 12:00
  • 191

HDU 6194 string string string

http://acm.hdu.edu.cn/showproblem.php?pid=6194题意: 给一个字符串,和一个k,问你串中出现k次的子串有多少个。哎,我这次要背大大的锅,从多校开始好多字符串...
  • My_stage
  • My_stage
  • 2017年09月11日 18:45
  • 379
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdu-5707-Combine String
举报原因:
原因补充:

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