Pagini recente » Cod sursa (job #1931476) | Cod sursa (job #2688334) | Cod sursa (job #1501623) | Cod sursa (job #1326956) | Cod sursa (job #2562156)
#include <fstream>
using namespace std;
struct nod {
int inf;
nod *urm;
} *v[1000001];
void add (nod *&p, int x) {
nod *e=new nod;
e->inf=x;
e->urm=p;
p=e;
}
int vizitat[1000001], n, nr;
void DFS (int x) {
nr++;
for (nod *p=v[x]; p; p=p->urm)
if (vizitat[p->inf]==0) {
vizitat[p->inf]=1;
DFS(p->inf);
}
}
int main () {
ifstream fin ("prieteni.in");
ofstream fout ("prieteni.out");
int m, c, x, y, j;
fin >> n >> m;
for (int i=1; i<=m; i++) {
fin >> c;
if (c==1) {
fin >> x >> y;
add(v[x], y);
add(v[y], x);
}
else {
fin >> x;
nr=0;
vizitat[x]=1;
DFS(x);
for (j=1; j<=n; j++)
vizitat[j]=0;
fout << nr << '\n';
}
}
return 0;
}