zoukankan      html  css  js  c++  java
  • 某个整数的全排列问题

    #include <iostream>
    #include <ctime>
    #include <vector>
    #include <algorithm>
    using namespace std;
    
    //int perm() {
    //    int data[4] = { 5,2,1,4 };
    //    sort(data, data + 4);
    //    do {
    //        for (int i = 0; i < 4; ++i) {
    //            cout << data[i] << " ";
    //        }
    //        cout << endl;
    //    } while (next_permutation(data, data + 4));
    //}
    int num = 0;
    int Data[] = { 1,2,3,4,5,6,7,8,9,10,15,30,87,12 };
    int Perm(int begin, int end) {
        int i;
        if (begin == end) {
            num++;
        }
        else {
            for (int i = begin; i <= end; ++i) {
                swap(Data[begin], Data[i]);
                Perm(begin + 1, end);
            }
        }
        return num;
    }
    
    //class Solution {
    //private:
    //    vector<int> p;
    //    vector<bool>used;
    //    vector<vector<int>>q;
    //public:
    //    void GetPerm(vector<int>& nums, int Index, vector<int>& p) {
    //        if (Index == nums.size()) {
    //            q.push_back(p);
    //            return;
    //        }
    //        for (int i = 0; i < nums.size(); ++i) {
    //            if (!used[i]) {
    //                used[i] = true;
    //                p.push_back(nums[i]);
    //                GetPerm(nums, Index + 1, p);
    //                p.pop_back();
    //                used[i] = false;
    //            }
    //        }
    //        return;
    //    }
    //public:
    //    int Perm(vector<int>& nums) {
    //        used = vector<bool>(nums.size(), false);
    //        p.clear();
    //        q.clear();
    //        GetPerm(nums, 0, p);        
    //        return q.size();
    //    }
    //};
    
    
    int main() {
        
        /*vector<int> arr(10,0);
        for (int i = 0; i < 10; ++i) {
            arr[i] = i + 1;
        }
        int num = Solution().Perm(arr);*/
        Perm(0, 10);
        cout << num << endl;
        system("pause");
    }
  • 相关阅读:
    Domain Model
    linux 后台运行命令
    morphia(3)-查询
    [八省联考2018] 劈配
    [BZOJ 3218] a+b Problem
    [学习笔记] KM算法
    [HNOI2013] 消毒
    [HNOI2014] 画框
    [HDU 6057] Kanade's convolution
    [模板] 任意模数多项式乘法
  • 原文地址:https://www.cnblogs.com/z2529827226/p/11631407.html
Copyright © 2011-2022 走看看