CF718E.Matvey's Birthday
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
今天是 Matvey 的生日。他总是不知道该要什么礼物,于是朋友们送给了他一个长度为 n 的字符串 s。这个字符串只包含前八个英文字母:'a','b',…,'h'。
第一个想到的问题是:谁会需要一个字符串呢?Matvey 是个特别的男孩,所以他立刻想出了用这个字符串做些什么。他用它来构建一个无向图,图中的顶点对应字符串中的位置,如果两个不同的位置 a 和 b(1≤a,b≤n)满足下列至少一个条件,则在它们之间连一条边:
- a 和 b 是相邻的,也就是 ∣a−b∣=1。
- 第 a 和第 b 个位置上的字符相同,即 sa=sb。
接着,Matvey 想求出这个图的直径。直径是所有顶点对间最短路的最大值。同时,Matvey 还想找出有多少对点之间的距离等于直径。由于他是非常厉害且经验丰富的程序员,他很快就解决了这个问题。你能做到吗?
输入格式
输入的第一行包含一个整数 n,表示字符串的长度(2≤n≤100000)。
第二行是字符串 s。保证 s 只包含前八个英文字母。
输出格式
输出两个整数——图的直径和距离等于直径的点对数量。
输入输出样例
输入#1
3 abc
输出#1
2 1
输入#2
7 aaabaaa
输出#2
2 4
说明/提示
考虑第二个样例。
最大距离为 2。满足条件的点对有 (1,4),(2,4),(4,6) 和 (4,7)。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?