// backproiecte.cpp : Defines the entry point for the console application. //Profesorul de fizica doreste sa imparta k teme de proiect la n elevi. Fiecare tema trebuie luata cel putin o data chiar daca mai multi elevi isi vor lua aceeasi tema. #include "stdafx.h" #include #include int main(int argc, char* argv[]) { int i,k,m,n,x[100],sw1,sw2,v[100],nr; printf("\n Introduceti numarul de elevi: "); scanf("%d",&n); printf("\n Introduceti numarul de proiecte: "); scanf("%d",&m); for(i=0;i<=m;i++) v[i]=0; //v[i] ne spune ce cate ori elementul i din multimea solutiilor a fost vizitat //nr=elemente distincte care au fost vizitate si puse in multimea x[1],..x[k] nr=0;k=1;x[k]=0; while (k) { do { if (x[k]=m); } else sw1=0; } while ((sw1)&&(!sw2)); if (sw1) if (n==k) { for(i=1;i<=n;i++) printf("%d ",x[i]); printf("\n"); } else x[++k]=0; else { v[x[k]]--; k--; } } getch(); return 0; }