projecteuler Lexicographic permutations 24

搜就完事了

//2783915460
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <stack>
#include <map>
#include <cmath>
#include <algorithm>
#define inf 0x3f3f3f3f
#define SI(a) scanf("%d",&a)
#define set0(a) memset(a,0,sizeof(a))
#define setMo(a) memset(a,-1,sizeof(a))
typedef long long ll;
const int mod = 998244353;
const int maxn = 30010;
using namespace std;
bool vis[10];
ll t;
int num[10];
bool flag;
void dfs(int pos)
{
    
    
    if(pos == 10)t++;
    if(flag)return;
    if(t == 1000000){
    
    
        for(int i = 0;i < 10;i++)
            cout<<num[i];
            flag = true;
            return;
        }
    for(int i = 0;i <= 9;i++)
    {
    
    
        if(!vis[i])
        {
    
    
            num[pos] = i;
            vis[i] = 1;
            dfs(pos+1);
            vis[i] = 0;
        }

    }
}
int main()
{
    
    
    t = 0;
    set0(num);
    set0(vis);
    flag = false;
    dfs(0);
}

猜你喜欢

转载自blog.csdn.net/qq_42937838/article/details/105499790
今日推荐