wust1591

题目大意:有串P,Q,任选一个串S使得三者最长公共子序列最小。


解法:直接统计字符出现次数….出现次数最少的那个就是…..


…………………………………………………………………………………………


#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
#include <vector>
#include <map>
#include <set>
#include <iomanip>

using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
#define maxn 200005
#define MOD 1000000007
#define mem(a , b) memset(a , b , sizeof(a))
#define LL long long
#define ULL long long
const long long INF=0x3fffffff;
string str1 , str2;

int main()
{
    int t;
    cin >> t;
    while(t--)
    {
        cin >> str1 >> str2;
        int len = str1.size();
        int num1[3]= {0 , 0 , 0};
        int num2[3]= {0 , 0 , 0};
        for(int i = 0 ; i < len ; i ++)
        {
            num1[str1[i] - '0'] ++;
        }
        for(int i = 0 ; i < len ; i ++)
        {
            num2[str2[i] - '0'] ++;
        }
        int minn = 99999999;
        minn = min (num1[0] , min(num1[1] , num1[2]));
        minn = min(minn , min(num2[0] , min(num2[1] , num2[2])));
        cout << minn << endl;
    }
    return 0;
}



你可能感兴趣的:(wust1591)