Cod sursa(job #308118)

Utilizator mihaionlyMihai Jiplea mihaionly Data 26 aprilie 2009 01:03:57
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int st[9],n;
void init(int k)
 {
 st[k]++;
 }
bool valid(int k)
 {
 if(st[k]>n)
  return false;
 for(int i=1;i<k;i++)
  if(st[i]==st[k])
   return false;
 return true;
 }
void type()
 {
 for(int i=1;i<=n;i++)
  g<<st[i]<<" ";
 g<<endl;
 }
void back()
 {
 int k=1,ev;
 while(k>0)
  {
  do
   {
   init(k);
   ev=valid(k);
   }while(st[k]<=n&&!ev);
  if(ev)
   {
   if(k==n)
    type();
   else
    k++;
   }
  else
   {
   st[k]=0;
   k--;
   }
  }
 }
int main()
 {
 f>>n;
 back();
 return 0;
 }