sry, in the findWord function all a's are different e.g
a0, a1....a7

and if(!a) is actually if(a0||a1||...||a7)

thnx
piyush

On Mon, Sep 19, 2011 at 1:10 AM, Piyush Grover <piyush4u.iit...@gmail.com>wrote:

> for(i = 0; i < n; i++)
>    for(j = 0; j < n; j++){
>       setColor(i, j) = black;
>        if(A[i][j] == str[0]){
>           setColor(i, j) = blue;
>           a =  findWord(A, i, j, str, 1)
>           if(!a) setColor(i, j) = black;
>            else break;
>         }
>    }
>
> findWord(A, i, j, str, k){
>     if(k == strlen(str))
>       return true;
>
>      if(A[i-1][j-1] == str[k] && getColor(i-1, j-1) != blue)
>           setColor(i-1, j-1) = blue;
>           a = findWord(A, i-1, j-1, str, k+1);
>
>      if(A[i-1][j] == str[k] && getColor(i-1, j) != blue)
>          setColor(i-1, j) = blue;
>           a = findWord(A, i-1, j, str, k+1);
>
>      if(A[i-1][j+1] == str[k] && getColor(i-1, j+1) != blue)
>           setColor(i-1, j+1) = blue;
>           a = findWord(A, i-1, j+1, str, k+1);
>
>      if(A[i][j-1] == str[k] && getColor(i, j-1) != blue)
>          setColor(i, j-1) = blue;
>           a = findWord(A, i, j-1, str, k+1);
>
>      if(A[i][j+1] == str[k] && getColor(i, j+1) != blue)
>           setColor(i, j+1) = blue;
>           a = findWord(A, i, j+1, str, k+1);
>
>       if(A[i+1][j-1] == str[k] && getColor(i+1, j-1) != blue)
>           setColor(i+1, j-1) = blue;
>           a = findWord(A, i+1, j-1, str, k+1);
>
>       if(A[i+1][j] == str[k] && getColor(i+1, j) != blue)
>           setColor(i+1, j) = blue;
>           a = findWord(A, i+1, j, str, k+1);
>
>       if(A[i+1][j+1] == str[k] && getColor(i+1, j+1) != blue)
>            setColor(i+1, j+1) = blue;
>            a = findWord(A, i+1, j+1, str, k+1);
>
>        if(!a)  setColor(i, j) = black;
>
>       return a;
> }
>
> This is a pseudo code. I haven't considered the boundary cases to make it
> understandable.
>
>
>
> On Mon, Sep 19, 2011 at 12:21 AM, vikas <vikas.rastogi2...@gmail.com>wrote:
>
>> hmm, nice questions, can we create an  efficient DS to query the
>> strings ??
>>
>>
>> tried using trie but memory prints are very large ( O(n^2) )? :-((
>>
>>
>>
>> On Sep 18, 12:59 pm, Anup Ghatage <ghat...@gmail.com> wrote:
>> > For the mentioned scenario, it seems to be the only feasible solution.
>> >
>> > On Sun, Sep 18, 2011 at 3:57 AM, bharatkumar bagana <
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > bagana.bharatku...@gmail.com> wrote:
>> > > @anup : the time complexity will be very high ...
>> O(n*M*M)...n=#characters
>> > > to be checked...M=size of the matrix ...
>> >
>> > > On Sat, Sep 17, 2011 at 8:30 AM, Anup Ghatage <ghat...@gmail.com>
>> wrote:
>> >
>> > >> As WgpShashank once pointed out.
>> >
>> > >> Search the whole matrix for the first character instances, for each
>> > >> instance, send the array, string and that char's position to a
>> function that
>> > >> will recursively check its direct neighbors for the next character.
>> > >> Exhaustively check like that for each starting characters appearance
>> till
>> > >> you find the string, if any.
>> >
>> > >> On Fri, Sep 16, 2011 at 11:55 PM, Ankur Garg <ankurga...@gmail.com
>> >wrote:
>> >
>> > >>> In a matrix of. characters, find an string. String can be in any way
>> (all
>> > >>> 8 neighbours to be considered)
>> > >>> like find Microsoft in below matrix.
>> >
>> > >>>  A
>> > >>> C
>> > >>> P
>> > >>> *R
>> > >>> *C*
>> > >>> *X
>> > >>> *S
>> > >>> **O
>> > >>> *P
>> > >>> *C*
>> > >>> V
>> > >>> *O*
>> > >>> V
>> > >>> N
>> > >>> *I*
>> > >>> W
>> > >>>  G
>> > >>> *F
>> > >>> **M
>> > >>> *N
>> > >>> Q
>> > >>>  A
>> > >>> *T*
>> > >>> I
>> > >>> T
>> >
>> > >>>  *Any Ideas How to Solve/Approach this problem ?*
>> >
>> > >>>  --
>> > >>> You received this message because you are subscribed to the Google
>> Groups
>> > >>> "Algorithm Geeks" group.
>> > >>> To post to this group, send email to algogeeks@googlegroups.com.
>> > >>> To unsubscribe from this group, send email to
>> > >>> algogeeks+unsubscr...@googlegroups.com.
>> > >>> For more options, visit this group at
>> > >>>http://groups.google.com/group/algogeeks?hl=en.
>> >
>> > >> --
>> > >> Anup Ghatage
>> >
>> > >>  --
>> > >> You received this message because you are subscribed to the Google
>> Groups
>> > >> "Algorithm Geeks" group.
>> > >> To post to this group, send email to algogeeks@googlegroups.com.
>> > >> To unsubscribe from this group, send email to
>> > >> algogeeks+unsubscr...@googlegroups.com.
>> > >> For more options, visit this group at
>> > >>http://groups.google.com/group/algogeeks?hl=en.
>> >
>> > > --
>> >
>> > > **Please do not print this e-mail until urgent requirement. Go Green!!
>> > > Save Papers <=> Save Trees
>> > > *BharatKumar Bagana*
>> > > **http://www.google.com/profiles/bagana.bharatkumar<
>> http://www.google.com/profiles/bagana.bharatkumar>
>> > > *
>> > > Mobile +91 8056127652*
>> > > <bagana.bharatku...@gmail.com>
>> >
>> > >  --
>> > > You received this message because you are subscribed to the Google
>> Groups
>> > > "Algorithm Geeks" group.
>> > > To post to this group, send email to algogeeks@googlegroups.com.
>> > > To unsubscribe from this group, send email to
>> > > algogeeks+unsubscr...@googlegroups.com.
>> > > For more options, visit this group at
>> > >http://groups.google.com/group/algogeeks?hl=en.
>> >
>> > --
>> > Anup Ghatage
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algogeeks@googlegroups.com.
>> To unsubscribe from this group, send email to
>> algogeeks+unsubscr...@googlegroups.com.
>> 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 algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to