CF1760B Atilla's Favorite Problem

题目描述

为了写出一个字符串,Atilla 需要先学习该字符串中包含的所有字母。 Atilla 需要写一条消息,可以表示为一个字符串 $s$。他想知道,最小需要多大的字母表,才能写出这条消息。 大小为 $x$ 的字母表($1 \leq x \leq 26$)只包含前 $x$ 个拉丁字母。例如,大小为 $4$ 的字母表只包含字符 $\texttt{a}$、$\texttt{b}$、$\texttt{c}$ 和 $\texttt{d}$。

输入格式

第一行包含一个整数 $t$($1 \leq t \leq 1000$),表示测试用例的数量。 每个测试用例的第一行包含一个整数 $n$($1 \leq n \leq 100$),表示字符串的长度。 每个测试用例的第二行包含一个长度为 $n$ 的字符串 $s$,该字符串仅由小写拉丁字母组成。

输出格式

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

说明/提示

对于第一个测试用例,Atilla 只需要知道字符 $\texttt{a}$,因此只包含 $\texttt{a}$ 的大小为 $1$ 的字母表就足够了。 对于第二个测试用例,Atilla 需要知道字符 $\texttt{d}$、$\texttt{o}$、$\texttt{w}$、$\texttt{n}$。包含所有这些字符的最小字母表大小为 $23$(这样的字母表可以表示为字符串 $\texttt{abcdefghijklmnopqrstuvw}$)。 由 ChatGPT 4.1 翻译