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.

Reply via email to