1.Formulati un enunt de problema pentru codul urmator: #include using namespace std; ifstream fin("aaa.in"); ofstream fout("aaa.out"); int n,T[101],F[101],S[101],D[101],G[101]; int main() { fin>>n; for(int i=1;i<=n;i++) { fin>>T[i]; F[T[i]]++;//1 if(T[i]!=0)//2 { G[i]++; G[T[i]]++; } } //3 int ok=1; for(int i=1;i<=n;i++) if(F[i]>2) ok=0; if(ok) { fout<<"DA\n"; for(int i=1;i<=n;i++) if(T[i]!=0) { if(S[T[i]]==0) S[T[i]]=i; else D[T[i]]=i; } for(int i=1;i<=n;i++) fout<=4) ok=0; if(ok) fout<<"DA"; else fout<<"NU"; } return 0; } ------------------------------------------------------------ 2. Formulati un enunt de problema pentru codul urmator: #include using namespace std; ifstream fin1("g1.in"); ifstream fin2("g2.in"); ofstream fout("g.out"); int n,m1,m2,A[101][101],B[101][101],x,y; int g(int n, int A[][101], int B[][101]) { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(B[i][j]==1 && A[i][j]==0) return 0; return 1; } int main() { fin1>>n>>m1; for(int i=1;i<=m1;i++) { fin1>>x>>y; A[x][y]=A[y][x]=1; } fin2>>n>>m2; for(int i=1;i<=m2;i++) { fin2>>x>>y; B[x][y]=B[y][x]=1; } if(m1>m2) if(g(n,A,B)) fout<<"G2 - G1"; else fout<<"NU"; else if(g(n,B,A)) fout<<"G1 - G2"; else fout<<"NU"; return 0; } ---------------------------------- 3. Se da un graf neorientat conex cu n varfuri si m muchii. Eliminati un numar minim de muchii din graf astfel incat acesta sa nu mai contina nici un ciclu. Se vor afisa muchiile eliminate si matricea de adiacenta a grafului partial obtinut astfel. Exemplu: date.in 4 6 1 2 1 3 1 4 2 3 2 4 3 4 date.out [2,3] [2,4] [3,4] 0111 1000 1000 1000