P16234 [蓝桥杯 2026 省 B] 循环右移

题目背景

本站蓝桥杯 2026 省赛测试数据均为洛谷自造,与官方数据可能存在差异,仅供学习参考。

题目描述

给定三个整数 $N, X, Y$。请计算有多少个长度为 $N$ 的整数数组 $A$ 满足以下条件: 1. 数组 $A$ 中的每个元素 $A_i$ 都满足 $X \le A_i \le Y$; 2. 对于数组 $A$ 中的任意一个连续子数组,对其进行一次循环右移操作,得到的新子数组与原数组完全一致。 循环右移:对一个长度为 $k$ 的连续子数组 $[B_1, B_2, \dots, B_k]$ 执行一次循环右移操作,是指将该子数组变换为 $[B_k, B_1, B_2, ..., B_{k-1}]$(即把最后一个元素移到最开头,其余元素保持原有顺序依次向后顺延一位)。

输入格式

第一行包含一个整数 $T$,表示测试数据的组数。 接下来的 $T$ 行,每行包含三个由空格隔开的整数 $N, X, Y$。

输出格式

对于每组测试数据,输出一行,包含一个整数,表示满足条件的数组 $A$ 的个数。

说明/提示

### 【评测用例规模与约定】 对于 $30\%$ 的评测用例,$1 \le T \le 20$, $1 \le N \le 100$, $1 \le X, Y \le 100$; 对于 $100\%$ 的评测用例,$1 \le T \le 10^3$, $1 \le N \le 10^{18}$, $1 \le X, Y \le 10^{18}$。