A. Musical Puzzle

这篇具有很好参考价值的文章主要介绍了A. Musical Puzzle。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

Vlad decided to compose a melody on his guitar. Let's represent the melody as a sequence of notes corresponding to the characters 'a', 'b', 'c', 'd', 'e', 'f', and 'g'.

However, Vlad is not very experienced in playing the guitar and can only record exactly two notes at a time. Vlad wants to obtain the melody s�, and to do this, he can merge the recorded melodies together. In this case, the last sound of the first melody must match the first sound of the second melody.

For example, if Vlad recorded the melodies "ab" and "ba", he can merge them together and obtain the melody "aba", and then merge the result with "ab" to get "abab".

Help Vlad determine the minimum number of melodies consisting of two notes that he needs to record in order to obtain the melody s�.

Input

The first line of input contains an integer t� (1≤t≤1041≤�≤104) — the number of test cases.

Following that are the descriptions of the test cases.

The first line of each test case contains an integer n� (2≤n≤502≤�≤50) — the length of the melody s�.

The second line of each test case contains a string s� of length n�, consisting of characters 'a', 'b', 'c', 'd', 'e', 'f', 'g'.

Output

Output t� integers, each representing the answer for the corresponding test case. As the answer output minimum number of melodies consisting of two notes that Vlad needs to record.

Example

input

Copy

 

5

4

abab

7

abacaba

6

aaaaaa

7

abcdefg

5

babdd

output

Copy

2
4
1
6
4

Note

In the first sample, you need to record the melodies "ab" and "ba", as described in the problem statement.

In the second sample, you need to record the melodies "ab", "ba", "ac", and "ca".

In the third sample, the only necessary melody is "aa".

解题说明:此题是一道字符串题目,两个字母为一组,只需要遍历整个字符串,以组为单位统计出不同的个数即可。文章来源地址https://www.toymoban.com/news/detail-471251.html

#include<stdio.h>
#include<string.h>
int main()
{
	int n;
	scanf("%d", &n);
	while (n--) 
	{
		int m, i, j, cnt = 0;
		char s[60];
		scanf("%d", &m);
		scanf("%s", s);
		for (i = 1; i < strlen(s) - 1; i++) 
		{
			for (j = 0; j < i; j++)
			{
				if (s[i] == s[j] && s[i + 1] == s[j + 1]) 
				{
					break;
				}
			}
			if (j == i)
			{
				cnt++;
			}
		}
		printf("%d\n", cnt + 1);
	}
	return 0;
}

到了这里,关于A. Musical Puzzle的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s+arm环境,clickhouse出现多次MEMORY_LIMIT_EXCEEDED导致pod crash

    k8s+arm环境,clickhouse出现多次MEMORY_LIMIT_EXCEEDED导致pod crash,可能是hugepage干扰内存分配器 1、修改文件 2、验证是否关闭

    2024年02月08日
    浏览(40)
  • FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory(JS stacktrace )

    目录 一、问题 二、原因分析 三、解决方案 1.package.json中配置 2.使用increase-memory-limit插件 往期回顾 我的博客原文:FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory(JS stacktrace ) 我们前端在升级运行自动化运行脚本的时候,linux机器上会报这样一个错误 FATAL E

    2024年03月26日
    浏览(56)
  • 运行代码报错:FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

    一、背景         进公司拉取项目代码,npm install拉取依赖后,运行控制台报错:FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory 二、原因分析         JavaScript heap out of memory说的是 JavaScript 运行内存不足,其实就是Node运行时内存不足。Node 中通过script使用

    2024年02月06日
    浏览(46)
  • FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory node编译时的内存溢出

    报错:FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory 原因:node编译时的内存溢出,因为打包文件过大,刚好超过内存的限制大小造成编译中断。 解决方法1: 解决方法2:(实践过可用) 使用 increase-memory-limit 插件,增加node服务器内存限制

    2024年02月03日
    浏览(40)
  • Meta发布Megabyte AI模型抗衡Transformer

    ChatGPT学习笔记 文章包括如下的内容: ChatGPT 介绍 科普 背景知识 ChatGPT 功能 ChatGPT 原理 等等,文章的地址在这里。 🚀 Meta发布Megabyte AI模型抗衡Transformer:解决后者已知问题、速度提升4成 摘要:Meta团队开发的Megabyte AI模型可以抗衡当前在自然语言处理领域非常流行的Transf

    2024年02月07日
    浏览(37)
  • ChatGPT学习笔记;Meta发布Megabyte AI模型抗衡Transformer

    ChatGPT学习笔记 文章包括如下的内容: ChatGPT 介绍 科普 背景知识 ChatGPT 功能 ChatGPT 原理 等等,文章的地址在这里。 🚀 Meta发布Megabyte AI模型抗衡Transformer:解决后者已知问题、速度提升4成 摘要:Meta团队开发的Megabyte AI模型可以抗衡当前在自然语言处理领域非常流行的Transf

    2024年02月08日
    浏览(39)
  • puzzle(0414)六边形拼图

    目录 六边形拼图 简单 中等 困难 taptap小游戏 (3)    (4)   (3)   (4)    (2)   (3) (4) (5) 这一关没玩出来。 找到了2个我认为比较关键的块,但是怎么放还没确定:

    2024年02月12日
    浏览(39)
  • Scala 04 —— Scala Puzzle 拓展

    一、占位符 在上面的例子中,两代码的返回结果其实是一样的,都是 List(2,3,4) ,而在第一行中的 _ 叫做占位符,可以让我们的代码更加简洁 但是这并不意味着使用 _ 和箭头函数是同样的结果 在上面的代码中,看起来运行的结果还是一样的,但是事实却不是这样的,当然 lis

    2024年04月27日
    浏览(47)
  • 【学习笔记】CF627F Island Puzzle

    好啊,树上贪心题。 首先可以用类似于拓扑排序的过程将无用的节点全部删掉。 具体的,如果两个叶子节点对应的值恰好相同,那么同时将叶子节点删去;如果其中一个叶子节点对应的是 0 0 0 ,并且与父节点交换后相同,因为操作是可逆的,那么花费 1 1 1 的代价将 0 0 0 往

    2024年02月02日
    浏览(42)
  • 「Codeforces」A. Reverse

    2022年2月15日15:29:19 题目描述 给一个长度为 n 序列, p 1 , p 2 , … , p n p_1, p_2, dots, p_n p 1 ​ , p 2 ​ , … , p n ​ 。选择两个整数,即一个区间 [ L , R ] [L, R] [ L , R ] ,对其区间进行反转操作。 要求你找到恰好执行一次反转操作获得的字典最小序列。 序列是一个数组,由 1 到

    2024年02月02日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包