#CF1760B. Atilla's Favorite Problem

    ID: 6826 传统题 1000ms 256MiB 尝试: 3 已通过: 1 难度: 10 上传者: 标签>贪心模拟字符串CodeforcesCodeforces Round 835(Div4)Div4BCF1760B800

Atilla's Favorite Problem

题目描述

为了写出一个字符串,Atilla 需要先学习该字符串中包含的所有字母。

Atilla 需要写一条消息,可以表示为一个字符串 ss。他想知道,最小需要多大的字母表,才能写出这条消息。

大小为 xx 的字母表(1x261 \leq x \leq 26)只包含前 xx 个拉丁字母。例如,大小为 44 的字母表只包含字符 a\texttt{a}b\texttt{b}c\texttt{c}d\texttt{d}

输入格式

第一行包含一个整数 tt1t10001 \leq t \leq 1000),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn1n1001 \leq n \leq 100),表示字符串的长度。

每个测试用例的第二行包含一个长度为 nn 的字符串 ss,该字符串仅由小写拉丁字母组成。

输出格式

对于每个测试用例,输出一个整数,表示 Atilla 能够写出消息 ss 所需的最小字母表大小。

样例

5
1
a
4
down
10
codeforces
3
bcf
5
zzzzz
1
23
19
6
26

样例说明

对于第一个测试用例,Atilla 只需要知道字符 a\texttt{a},因此只包含 a\texttt{a} 的大小为 11 的字母表就足够了。

对于第二个测试用例,Atilla 需要知道字符 d\texttt{d}o\texttt{o}w\texttt{w}n\texttt{n}。包含所有这些字符的最小字母表大小为 2323(这样的字母表可以表示为字符串 abcdefghijklmnopqrstuvw\texttt{abcdefghijklmnopqrstuvw})。

由 ChatGPT 4.1 翻译

来源

Codeforces 1760B,英文题名 Atilla's Favorite Problem。