Brute Force - 暴力枚举


问题

排列个元素,每个元素可以选取个值。

例如的排列有以下情况:

给定的值,用Brute Force求排列的所有情况。

解法

根据乘法原理可以看出,排列生成每种情况都可以看作一件步才能完成的工作,其中每一步都是每个元素的选择过程。第步的完成有个方法,那么共有种方法可以完成该工作。

通过遍历求出所有情况,例如对于排列,每个元素的范围是。需要对个元素枚举所有种情况,即可求出排列的所有可能。对个元素,每个有个值的排列,遍历所有情况的时间复杂度


源码

BruteForce.h

BruteForce.cpp

测试

BruteForceTest.cpp