#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.
| 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 | |
| Fișier | ctcmax.cpp | Dimensiune | 1.62 KB |
| Data încărcării | 12 Martie 2026, 11:14 | Scor/rezultat | Eroare de 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; } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema ctcmax face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
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ă.