Cod sursa(job #1342995)

Utilizator cociorbaandreiAndrei Cociorba cociorbaandrei Data 14 februarie 2015 19:01:05
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <algorithm>
#include <fstream>
#include "stdio.h"
#include <string>
using namespace std;
string a;
ifstream cin("ordine.in");
ofstream cout("ordine.out");
void print(int* v, int len)
{
    for(int i = 0;i < len;i++){
        cout << a[v[i]]; 
    }
}
bool valid(int* v, int p)
{
    if (p == 0) return true;
    for (int i = 0;i < p;i++)
    	if(v[i] == v[p] ) return false;
    return (a[v[p]] != a[v[p-1]]);
}
bool back(int* v, int n, int p)
{
    if (p == n){
        print(v,p);
        return true;
    }else{
        for(int i = 0; i < n;i++){
            v[p] = i;
            if(valid(v, p)){
                if(back(v,n,p+1)) return true;
            } 
        }
    }
    return false;
}
 
int main() {
    cin >> a;
    std::sort(a.begin(),a.end());
    
   // back(new int[a.size()], a.size(), 0);
    return 0;
}