测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A70305. 队形数量求解

编程题 入门

题目描述

同学们表演团体体操,排列的队形必须是长方形或正方形(且该长方形或者正方形的变长要求 \gt 1)。

原来有 m 排,每排有 n 个人,现在想要变换队形,请问在人数不变的情况下,队形有多少种不同的变换方法。

如:原有 3 排,每排 10 个人。那么可以有 2 种变换队形,分别是 2 \times 155 \times 615 \times 2 以及 6 \times 5 算作重复的队形)。( 4.1.101

输入格式

两个整数 mn ,分别代表有 m 排以及每排有 n 个人。( 1 \lt m,n \le 3 \times 10^4

输出格式

一个整数,代表可以变换的队形的方案。

输入输出样例

输入 #1
3 10
输出 #1
2

说明/提示

## 思路

用回溯生成排列:选一个未用数字 → 递归 → 撤销。

## 步骤

1. 读入 $n$ 或序列。
2. DFS/回溯枚举每个位置。
3. 按题面顺序输出所有排列。