You have an image file of size 2×22×2, consisting of 44 pixels. Each pixel can have one of 2626 different colors, denoted by lowercase Latin letters.
You want to recolor some of the pixels of the image so that all 44 pixels have the same color. In one move, you can choose no more than two pixels of the same color and paint them into some other color (if you choose two pixels, both should be painted into the same color).
What is the minimum number of moves you have to make in order to fulfill your goal?
Input
The first line contains one integer tt (1≤t≤10001≤t≤1000) — the number of test cases.
Each test case consists of two lines. Each of these lines contains two lowercase letters of Latin alphabet without any separators, denoting a row of pixels in the image.
Output
For each test case, print one integer — the minimum number of moves you have to make so that all 44 pixels of the image have the same color.
Example
input
Copy
5
rb
br
cc
wb
aa
aa
ab
cd
yy
xx
output
Copy
1 2 0 3 1
#include <bits/stdc++.h>
using namespace std;
int t,cnt;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> t;
while(t--)
{
cnt = 0;
int flag[4] = {1,1,1,1};
string a, b;
cin >> a >> b;
string s = a + b;
for(int i = 0; i < 4; i++)
{
for(int j = i+1; j < 4; j++)
{
if(s[j] == s[i])
{
flag[j] = 0;
}
}
}
for(int i = 0 ; i < 4; i++)
{
cnt += flag[i];
}
cout << cnt - 1 << endl;
}
}