guys plz help...
http://www.spoj.pl/problems/BUGLIFE/
i m getting wrong ans can any one give me the test case on which my code
giving wrong... i m unable to find out
#include<stdio.h>#define MAX 2500int front=-1;int rear=-1;int q[MAX];
void addq(int n)
{
q[++rear]=n;
}int delq()
{
if(front==rear)
return -1;
else
return q[++front];
}
int main(){int t,k=0;int num,action,m,n;int i,j;scanf
<http://www.opengroup.org/onlinepubs/009695399/functions/scanf.html>("%d",&t);while(t--)
{
k++;
front=-1;
rear=-1;
int error=0;
int visit[MAX]={0};
visit[0]=1;
scanf
<http://www.opengroup.org/onlinepubs/009695399/functions/scanf.html>("%d%d",&num,&action);
int n=num;
int arr[num][num],a[num];
for(i=0;i<num;i++)
{
a[i]=-2;
for(j=0;j<num;j++)
arr[i][j]=0;
}
while(action--)
{
scanf
<http://www.opengroup.org/onlinepubs/009695399/functions/scanf.html>("%d%d",&m,&n);
arr[m-1][n-1]=arr[n-1][m-1]=1;
}
int l;
addq(0);
while(n--)
{
if((i=delq())==-1)
{for(l=0;l<num;l++)
if(a[l]==-2)
{
addq(l);
n++;
visit[l]=1;
break;
}
}
else
{ a[i]=i;
for(j=i+1;j<num;j++)
{
if(arr[i][j] && i!=j)
{
if(visit[j]==visit[i])
{
error=1;
break;
}
else if(!visit[j])
{
visit[j]=-visit[i];
addq(j);
}
}
}
}
if(error) break;
}
printf
<http://www.opengroup.org/onlinepubs/009695399/functions/printf.html>("Scenario
#%d\n",k);
if(error)
printf
<http://www.opengroup.org/onlinepubs/009695399/functions/printf.html>("Suspicious
bugs found!\n");
else printf
<http://www.opengroup.org/onlinepubs/009695399/functions/printf.html>("No
suspicious bugs found!\n");
}return 0;}
--
Dileep Kumar
3rd year
Computer Science & Engineering
NIT, Allahabad
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.