Pagini recente » Cod sursa (job #163491) | Cod sursa (job #1027869) | Cod sursa (job #2351684) | Cod sursa (job #648749) | Cod sursa (job #542470)
Cod sursa(job #542470)
#include<stdio.h>
#define nmax 1001
int a[nmax][nmax],b[nmax][nmax],n,i,m,q,j;
int v[nmax],x,y,type,t,i1;
void parcurgere(int k,int y)
{
t=0;
for(i=1;i<=n;i++)
{
if(v[i]==k)
{
for(j=1;j<=n;j++)
if(a[i][j]&&!v[j])
{
t=1;
b[j][y]=1;
v[j]=k+1;
}
}
}
if(t) parcurgere(k+1,y);
}
int main()
{
freopen("gossips.in","r",stdin);
freopen("gossips.out","w",stdout);
scanf("%d%d%d\n",&n,&m,&q);
for(i=1;i<=m;i++)
{
scanf("%d%d\n",&x,&y);
a[x][y]=a[y][x]=1;
}
for(i1=1;i1<=q;i1++)
{
scanf("%d%d%d\n",&type,&x,&y);
if(type==1)
{
if(b[x][y]==1) printf("YES\n");
else printf("NO\n");
}
else
{
for(j=1;j<=n;j++)
v[j]=0;
v[x]=1;
b[x][y]=1;
parcurgere(1,y);
}
}
return 0;
}