Cod sursa(job #254651)

Utilizator ConsstantinTabacu Raul Consstantin Data 7 februarie 2009 13:33:10
Problema Planeta Scor 30
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 2 Marime 0.99 kb
 #include<stdio.h>  
 int v[30],viz[30],nr,i,j,k,l,m,n,p,ok;  
 int main(){  
 FILE *f=fopen("planeta.in","r");  
FILE *g=fopen("planeta.out","w");  
 fscanf(f,"%d%d",&n,&m);  
  k=1;v[1]=0;  
  while(k>0)  
          if(v[k]<n)  
                  {v[k]++;ok=1;  
                  if(viz[v[k]])ok=0;  
                  for(i=1;i<(k-1)&&ok;i++)

     for(j=i+1;j<k;j++)

      if(v[j]>v[i]) { if(v[k]<v[i]) ok=0; break;}
                if(ok){viz[v[k]]=1;  
                if(k==n)  
                  {nr++;  
                  if(nr==m){  
                  for(i=1;i<=n;i++)  
                          fprintf(g,"%d ",v[i]);  
                fclose(f);  
                  fclose(g);  
                  return 0;}  
                viz[v[k]]=0;  
                }  
               else  
               {k++;v[k]=0;}  
              }  
           }  
           else  
           {k--;viz[v[k]]=0;  
           }  
    fclose(f);  
    fclose(g);  
    return 0;}