@utkarsh
u dont need to store char in the node.Just mark it as done,when u reach dat
node.
end need not be int 1 bit will do.
still gr8 work...:)

On Wed, Aug 3, 2011 at 1:10 AM, Amol Sharma <[email protected]> wrote:

> @utkarsh: nice implementation.....thnx buddy....u made my day !!
>
> --
>
>
> Amol Sharma
> Third Year Student
> Computer Science and Engineering
> MNNIT Allahabad
>
>
>
>
> On Wed, Aug 3, 2011 at 1:07 AM, UTKARSH SRIVASTAV <[email protected]
> > wrote:
>
>> this is my accepted code
>>
>> #include<stdio.h>
>> int flag;
>> struct node
>> {
>>        char a;
>>        int end;
>>        struct node *next[10];
>> }*root[10];
>> struct node *makenode(char item,int b)
>> {
>>        int i,l;
>>      struct node *temp;
>>      temp=(struct node *)malloc(sizeof(struct node));
>>      temp->a=item;
>> //    printf("in makenode");
>>     //  scanf("%d",&l);
>>      temp->end=b;
>>       //scanf("%d",&l);
>>      for(i=0;i<10;i++)
>>      temp->next[i]=NULL;
>>       //scanf("%d",&l);
>>      return temp;
>> }
>> insert(char *s)
>> {
>>                int i;
>>                int b,l;
>>                struct node *temp,*p;
>>                p=root[s[0]-'0'];
>>             for(i=0;s[i]!='\0';i++)
>>               {
>>                                if(root[s[0]-'0']==NULL)
>>                                {
>>                                                        if(s[1]=='\0')
>>                                                        {
>>                                                                      b=1;
>>                                                        }
>>                                                        else
>>                                                        {
>>                                                            b=0;
>>                                                        }
>>
>>         //
>> printf("\nfirst");
>>
>> root[s[0]-'0']=makenode(s[0],b);
>>           //
>> printf("\nfirst  %c",root[s[0]-'0']->a);
>>             //
>> scanf("%d",&l);
>>
>> p=root[s[0]-'0'];
>>                                }
>>
>>                                else if(i!=0)
>>                                {
>>                                   // p=root[s[0]-'0'];
>>
>> if(p->next[s[i]-'0']!=NULL&&p->next[s[i]-'0']->end==1)
>>                                                       {
>>
>> flag=1;
>>
>> p=p->next[s[i]-'0'];
>>                                                       }
>>                                                       else
>> if(p->next[s[i]-'0']!=NULL&&p->next[s[i]-'0']->end==0)
>>                                                       {
>>
>>
>> p=p->next[s[i]-'0'];
>>
>> if(s[i+1]=='\0')
>>                                                             {
>>
>> p->end=1;
>>                                                                      }
>>                                                             else
>>                                                             {
>>                                                             }
>>                                                       }
>>                                                        else
>> if(p->next[s[i]-'0']==NULL)
>>                                                        {
>>
>> if(s[i+1]=='\0')
>>                                                        {
>>                                                                      b=1;
>>                                                        }
>>                                                        else
>>                                                        {
>>                                                            b=0;
>>                                                        }
>>
>> temp=makenode(s[i],b);
>>
>> p->next[s[i]-'0']=temp;
>>
>> p=temp;
>>                                                        }
>>                                  }
>>                                  else if(i==0)
>>                                  {
>>                                       if(p->end==1&&s[1]!='\0')
>>                                       flag=1;
>>                                  }
>>                               //   printf("\n %c %d ",p->a,p->end);
>>               }
>>               for(i=0;i<10;i++)
>>               {
>>                                if(p->next[i]!=NULL)
>>                                {
>>                                                    flag=1;
>>                                                    break;
>>                                }
>>               }
>> }
>> main()
>> {
>>       int t,i,n;
>>       char s[20];
>>       scanf("%d",&t);
>>
>>       while(t--)
>>       {
>>              for(i=0;i<=9;i++)
>>       {
>>                        root[i]=NULL;
>>       }
>>                 flag=0;
>>                 scanf("%d",&n);
>>                 for(i=1;i<=n;i++)
>>                 {
>>                                scanf("%s",s);
>>                                if(flag==0)
>>                                insert(s);
>>
>>
>>                 }
>>                 if(flag==1)
>>                 {
>>                            printf("NO\n");
>>                 }
>>                 else
>>
>>                 {
>>                            printf("YES\n");
>>                 }
>>       }
>>       return 0;
>> }
>>
>>
>>
>> --
>> *UTKARSH SRIVASTAV
>> CSE-3
>> B-Tech 2nd Year
>> @MNNIT 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.
>>
>
>  --
> 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.
>



-- 
Saurabh Singh
B.Tech (Computer Science)
MNNIT 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