Detalii evaluare #63639474

Rezumat problemă

#3423

Se dă un graf orientat cu n vârfuri și m arce prin lista arcelor. Afișați componentele tare conexe formate din număr maxim de vârfuri.

Detalii

Problema ctcmax Operații I/O tastatură/ecran
Limita timp 0.1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #63639474 Utilizator Stanciu Teodora (teodorastanciu22)
Fișier ctcmax.cpp Dimensiune 1.62 KB
Data încărcării 12 Martie 2026, 11:14 Scor/rezultat Eroare de compilare

Evaluare

Mesaj compilare

ctcmax.cpp:5:17: error: stray '#' in program
 void DFS1(int x)#include <iostream>

                 ^
ctcmax.cpp:5:18: error: expected initializer before 'include'
 void DFS1(int x)#include <iostream>

                  ^
ctcmax.cpp:7:26: error: redefinition of 'int x'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                          ^
ctcmax.cpp:4:5: error: 'int x' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

     ^
ctcmax.cpp:7:28: error: redefinition of 'int y'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                            ^
ctcmax.cpp:4:7: error: 'int y' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

       ^
ctcmax.cpp:7:30: error: redefinition of 'int n'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                              ^
ctcmax.cpp:4:9: error: 'int n' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

         ^
ctcmax.cpp:7:32: error: redefinition of 'int m'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                                ^
ctcmax.cpp:4:11: error: 'int m' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

           ^
ctcmax.cpp:7:41: error: redefinition of 'int ctc [101]'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                                         ^
ctcmax.cpp:4:13: error: 'int ctc [101]' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

             ^
ctcmax.cpp:7:48: error: redefinition of 'int S [101]'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                                                ^
ctcmax.cpp:4:22: error: 'int S [101]' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

                      ^
ctcmax.cpp:7:55: error: redefinition of 'int P [101]'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                                                       ^
ctcmax.cpp:4:29: error: 'int P [101]' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

                             ^
ctcmax.cpp:7:67: error: redefinition of 'int a [101][101]'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                                                                   ^
ctcmax.cpp:4:36: error: 'int a [101][101]' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

                                    ^
ctcmax.cpp:7:69: error: redefinition of 'int k'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                                                                     ^
ctcmax.cpp:4:48: error: 'int k' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

                                                ^
ctcmax.cpp:7:71: error: redefinition of 'int cnt'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                                                                       ^
ctcmax.cpp:4:50: error: 'int cnt' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

                                                  ^
ctcmax.cpp:7:75: error: redefinition of 'int nod'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                                                                           ^
ctcmax.cpp:4:54: error: 'int nod' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

                                                      ^
ctcmax.cpp:7:84: error: redefinition of 'int v [101]'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                                                                                    ^
ctcmax.cpp:4:58: error: 'int v [101]' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

                                                          ^
ctcmax.cpp:7:86: error: redefinition of 'int Max'
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                                                                                      ^
ctcmax.cpp:4:65: error: 'int Max' previously declared here
 int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max;

                                                                 ^
ctcmax.cpp:9:1: error: expected unqualified-id before '{' token
 {

 ^
ctcmax.cpp: In function 'void DFS2(int)':
ctcmax.cpp:13:6: error: redefinition of 'void DFS2(int)'
 void DFS2(int x)

      ^
ctcmax.cpp:7:182: error: 'void DFS2(int)' previously defined here
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                                                                                                                                                                                      ^
ctcmax.cpp: In function 'int main()':
ctcmax.cpp:18:5: error: redefinition of 'int main()'
 int main()

     ^
ctcmax.cpp:7:267: error: 'int main()' previously defined here
 using namespace std; int x,y,n,m,ctc[101],S[101],P[101],a[101][101],k,cnt,nod,v[101],Max; void DFS1(int x) { S[x]=1; for(int i=1;i<=n;i++) if(a[i][x]==1 && S[i]==0) DFS1(i); } void DFS2(int x) { P[x]=1; for(int i=1;i<=n;i++) if(a[x][i]==1 && P[i]==0) DFS2(i); } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; } for(int i=1;i<=n;i++) { if(ctc[i]==0) { for(int j=1;j<=n;j++) S[j]=P[j]=0; DFS1(i); DFS2(i); k++; int nr=0; for(int j=1;j<=n;j++) if(P[j]==1 && S[j]==1) ctc[j]=k, nr++; if(nr>Max) Max=nr; v[k]=nr; } } for(int i=1;i<=k;i++) { if(v[i]==Max) { for(int j=1;j<=n;j++) if(ctc[j]==i) cout<<j<<" "; cout<<endl; } } return 0; }

                                                                                                                                                                                                                                                                           ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema ctcmax face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.

Du-te sus!