Uso da função next_permutation

Uso da função next_permutation

next_permutation, chinês significa "próxima permutação", assim como seu nome, é usado para encontrar a próxima permutação. next_permutation () obterá a próxima permutação e combinação da sequência marcada por [primeiro, último) . Se não houver próxima permutação e combinação, ele retornará falso; caso contrário, ele retornará verdadeiro. Esta função está incluída no arquivo de cabeçalho "#include".

next_permutation(首指针,尾指针);

Exemplo: dada uma string, encontre a permutação lexicográfica desta string

#include <iostream>
#include<algorithm>
#include<string>
using namespace std;

int main()
{
    
    
    string str;
    cin>>str;
    sort(str.begin(),str.end());
    do{
    
    
        cout<<str<<endl;
    }while(next_permutation(str.begin(),str.end()));
    return 0;
}

Observação: este exemplo precisa ser classificado por classificação. Caso contrário, apenas parte do arranjo será exibida. Os resultados são os seguintes

string str="bca";
    do{
    
    
        cout<<str<<endl;
    }while(next_permutation(str.begin(),str.end()));
    

Insira a descrição da imagem aqui
https://vj.nytdoj.com/contest/429667#problem/D

Acho que você gosta

Origin blog.csdn.net/Supreme7/article/details/115267879
Recomendado
Clasificación