Pagini recente » Cod sursa (job #1568656) | Cod sursa (job #1531237) | Cod sursa (job #2136819) | Cod sursa (job #103883) | Cod sursa (job #105621)
Cod sursa(job #105621)
#include<stdio.h>
FILE *f,*g;
long i,n,x,y,max,tz,u,nr,p,nrt,avm;
long viz[100001],v[100001],a[100001][4001];
long poz(long li,long ls)
{
long i,j,aux,mod=1;
i=li;
j=ls;
while(i<j)
{
if(v[a[tz][i]]<v[a[tz][j]])
{
aux=a[tz][i];
a[tz][i]=a[tz][j];
a[tz][j]=aux;
mod=1-mod;
}
if(mod)
j--;
else
i++;
}
return i;
}
void quick(long li,long ls)
{
long k;
if(li<ls)
{
k=poz(li,ls);
quick(li,k-1);
quick(k+1,ls);
}
}
void DFS(long x)
{
long i;
viz[x]=1;
for(i=1;i<=a[x][0];i++)
{
if(!viz[a[x][i]])
{
DFS(a[x][i]);
}
v[x]=v[x]+v[a[x][i]];
}
v[x]++;
}
int main(void)
{
f=fopen("zvon.in","r");
g=fopen("zvon.out","w");
/*fscanf(f,"%ld",&nrt);
for(avm=1;avm<=nrt;avm++)
{
fscanf(f,"%ld",&n);
for(i=1;i<=n;i++)
a[i][0]=0;
for(i=1;i<n;i++)
{
v[i]=0;
viz[i]=0;
fscanf(f,"%ld%ld",&x,&y);
a[x][0]++;
a[x][a[x][0]]=y;
}
v[n]=0;
viz[n]=0;
//DFS(1);
for(tz=1;tz<=n;tz++)
//quick(1,a[tz][0]);
viz[1]=1;
p=1;
u=1;
max=0;
v[1]=0;
while(p<=u)
{
x=viz[p];
nr=v[p];
for(i=1;i<=a[x][0];i++)
{
u++;
viz[u]=a[x][i];
nr++;
v[u]=nr;
}
if(nr>max)
max=nr;
p++;
}
fprintf(g,"%ld\n",max);
}
*/
fclose(f);
fclose(g);
return 0;
}