#12058. 整除的排列
整除的排列
当前没有测试数据。
✅Day3:整除的排列
题目描述
构造一个从到的排列,使得该排列中任意相邻两个数的和都能被3整除。
输入格式
一个整数()
输出格式
输出一行共个整数,表示满足条件的排列;
如果不存在这样的排列,输出-1
。
输入样例
4
输出样例
1236
构造提示
*可以暴力从1~N
尝试排列,判断相邻两个数之和是否能被3整除;
*建议使用DFS/回溯构造排列,增加剪枝逻辑提升效率;
*若使用C++可结合next_permutation
遍历所有排列;
*注意:不是所有N
都有合法解,需判定。
推荐练习方向
*练习回溯法/DFS的剪枝设计;
*使用std::next_permutation
构造排列并筛选;
*可加入“统计所有解的个数”、“输出字典序最小的解”等进阶版本。