PC10303/UVA10252

一开始看错题啦,以为是最长公共字序列的变题,认真一看,原来是排列后的最长公共序列,本来想着排序后,从小到大共同就输出的,但是认真一想,根本没必要,我有bitmap啊!之后哗啦啦地码完了,发现一个神奇的事情,就是WA了,毫不怀疑自己,看了一下别人写的代码,思路基本一样,关键就是都去字符串的时候……UVA/PC很多时候都要getline(cin,str)整行读起……改了一下,马上SOLVED了。。。!!!

/*******************************************************************************/
/* OS           : 3.2.0-58-generic #88-Ubuntu SMP Tue Dec 3 UTC 2013 GNU/Linux
 * Compiler     : g++ (GCC)  4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
 * Encoding     : UTF8
 * Date         : 2014-03-30
 * All Rights Reserved by yaolong.
*****************************************************************************/
/* Description: ***************************************************************
*****************************************************************************/
/* Analysis: ******************************************************************
*****************************************************************************/
/*****************************************************************************/

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
using namespace std;
#define N 27

int A[N],B[N];

int main(){

    int lenA,lenB;
    string strA,strB;
    int i;
    while(getline(cin,strA)&&getline(cin,strB)){
       lenA=strA.length();
       lenB=strB.length();
       memset(A,0,sizeof(A));
       memset(B,0,sizeof(B));
       for(i=0;i<lenA;i++){
           A[strA[i]-'a']++;
        }
        for(i=0;i<lenB;i++){
          B[strB[i]-'a']++;
        }
        for(i=0;i<26;i++){

               int tmp=min(A[i],B[i]);
                while(tmp--){
                  cout<<char(i+'a');
                }
        }
        cout<<endl;





    }






    return 0;

}




转载于:https://www.cnblogs.com/dengyaolong/p/3697208.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值