欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1950G.Shuffling Songs
Shuffling Songs
题目描述
Vladislav 有一个包含 首歌曲的播放列表,歌曲编号为 到 。第 首歌有流派 和作者 。
若播放列表中任意两首相邻歌曲满足下列至少一项:作者相同,或流派相同,则称这个播放列表为精彩的。 都是长度不超过 的字符串。
不一定能让所有歌曲组成精彩播放列表,因此允许进行如下两步操作:
- 删除任意数量(可以为 )的歌曲;
- 任意重排剩余歌曲。
请问最少删除多少首歌曲,才能使剩余歌曲能够排列成一个精彩播放列表。
输入格式
第一行一个整数 (),表示测试组数。
对每组数据:
- 第一行一个整数 (),表示初始播放列表中的歌曲数;
- 接下来 行,第 行包含两个只由小写英文字母组成的字符串 (),分别表示第 首歌的流派与作者。
保证所有测试组的 之和不超过 ,且所有字符串长度 的总和不超过 。
输出格式
对每组数据输出一个整数,表示使播放列表能够变得精彩所需删除歌曲数的最小值。
样例
样例 1
输入:
4
1
pop taylorswift
4
electronic themotans
electronic carlasdreams
pop themotans
pop irinarimes
7
rap eminem
rap drdre
rap kanyewest
pop taylorswift
indierock arcticmonkeys
indierock arcticmonkeys
punkrock theoffspring
4
a b
c d
e f
g h
输出:
0
0
4
3
在线编程 IDE
建议全屏模式获得最佳体验
键盘快捷键
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |
第 1 行,第 1 列
0 字符
-
最近自测结果
暂未运行
最近递交结果
暂无递交记录