欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1721A.Image
Image
You have an image file of size , consisting of pixels. Each pixel can have one of different colors, denoted by lowercase Latin letters.
You want to recolor some of the pixels of the image so that all 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 () — 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 pixels of the image have the same color.
Note
Let's analyze the test cases of the example.
In the first test case, you can paint the bottom left pixel and the top right pixel (which share the same color) into the color r, so all pixels have this color.
In the second test case, two moves are enough:
- paint both top pixels, which have the same color
c, into the colorb; - paint the bottom left pixel into the color
b.
In the third test case, all pixels already have the same color.
In the fourth test case, you may leave any of the pixels unchanged, and paint all three other pixels into the color of that pixel in three moves.
In the fifth test case, you can paint both top pixels into the color x.
Samples
5
rb
br
cc
wb
aa
aa
ab
cd
yy
xx
1
2
0
3
1
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |