CF2108A Permutation Warm-Up

题目描述

对于一个长度为 $n ^{\text{∗}}$ 的排列 $p$,我们定义函数: $$ f(p) = \sum_{i=1}^{n} \lvert p_i - i \rvert $$ 给定一个数字 $n$。你需要计算当考虑从 $1$ 到 $n$ 的所有可能排列时,函数 $f(p)$ 可以取到多少个不同的值。 $ ^{\text{∗}}$ 一个长度为 $n$ 的排列是指由 $1$ 到 $n$ 的 $n$ 个不同整数按任意顺序组成的数组。例如,$[2,3,1,5,4]$ 是一个排列,但 $[1,2,2]$ 不是排列($2$ 在数组中出现了两次),$[1,3,4]$ 也不是排列($n=3$ 但数组中出现了 $4$)。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 $t$($1 \le t \le 100$)。接下来是测试用例的描述。 每个测试用例的第一行包含一个整数 $n$($1 \leq n \leq 500$)——排列中数字的个数。

输出格式

对于每个测试用例,输出一个整数——给定排列长度下函数 $f(p)$ 的不同值的数量。

说明/提示

考虑输入的前两个例子。 对于 $n = 2$,只有 $2$ 个排列——$[1, 2]$ 和 $[2, 1]$。$f([1, 2]) = \lvert 1 - 1 \rvert + \lvert 2 - 2 \rvert = 0$,$f([2, 1]) = \lvert 2 - 1 \rvert + \lvert 1 - 2 \rvert = 1 + 1 = 2$。因此,函数有 $2$ 个不同的取值。 对于 $n=3$,已经有 $6$ 个排列:$[1, 2, 3]$、$[1, 3, 2]$、$[2, 1, 3]$、$[2, 3, 1]$、$[3, 1, 2]$、$[3, 2, 1]$,对应的函数值分别为 $0$、$2$、$2$、$4$、$4$ 和 $4$,总共有 $3$ 个不同的取值。 翻译由 DeepSeek V3 完成