SHARE
TWEET

Untitled

a guest Dec 9th, 2019 98 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. char word[30][30];
  4. char findd[20];
  5. int n,m;
  6. void findword(int r,int c,int l,int maxr,int maxc,int di,int posr,int posc)
  7. {
  8.     if(di==0)
  9.     {
  10.         if(r+1>=l&&c+1>=l) findword(r,c,l,maxr,maxc,1,posr,posc);
  11.         if(r+1>=l) findword(r,c,l,maxr,maxc,2,posr,posc);
  12.         if(r+1>=l&&maxc-c+1>=l) findword(r,c,l,maxr,maxc,3,posr,posc);
  13.         if(c+1>=l) findword(r,c,l,maxr,maxc,4,posr,posc);
  14.         if(maxc-c+1>=l) findword(r,c,l,maxr,maxc,6,posr,posc);
  15.         if(maxr-r+1>=l&&c+1>=l) findword(r,c,l,maxr,maxc,7,posr,posc);
  16.         if(maxr-r+1>=l) findword(r,c,l,maxr,maxc,8,posr,posc);
  17.         if(maxr-r+1>=l&&maxc-c+1>=l) findword(r,c,l,maxr,maxc,9,posr,posc);    
  18.     }
  19.     else
  20.     {
  21.         int cou=0;
  22.         if(di==1)
  23.         {
  24.             for(int i=0;i<l;i++)
  25.             {
  26.                 if(findd[i]==word[r][c])
  27.                 {
  28.                     r--;
  29.                     c--;
  30.                 }
  31.                 else
  32.                 {
  33.                     return;
  34.                 }
  35.             }
  36.             printf("%d %d\n",posr+1,posc+1);
  37.             return;
  38.         }
  39.         else if(di==2)
  40.         {
  41.             for(int i=0;i<l;i++)
  42.             {
  43.                 if(findd[i]==word[r][c])
  44.                 {
  45.                     r--;
  46.                     //c--;
  47.                 }
  48.                 else
  49.                 {
  50.                     return;
  51.                 }
  52.             }
  53.             printf("%d %d\n",posr+1,posc+1);
  54.             return;
  55.         }
  56.         else if(di==3)
  57.         {
  58.             for(int i=0;i<l;i++)
  59.             {
  60.                 if(findd[i]==word[r][c])
  61.                 {
  62.                     r--;
  63.                     c++;
  64.                 }
  65.                 else
  66.                 {
  67.                     return;
  68.                 }
  69.             }
  70.             printf("%d %d",posr+1,posc+1);
  71.             return;
  72.         }
  73.         else if(di==4)
  74.         {
  75.             for(int i=0;i<l;i++)
  76.             {
  77.                 if(findd[i]==word[r][c])
  78.                 {
  79.                     //r--;
  80.                     c--;
  81.                 }
  82.                 else
  83.                 {
  84.                     return;
  85.                 }
  86.             }
  87.             printf("%d %d\n",posr+1,posc+1);
  88.             return;
  89.         }
  90.         else if(di==6)
  91.         {
  92.             for(int i=0;i<l;i++)
  93.             {
  94.                 if(findd[i]==word[r][c])
  95.                 {
  96.                     //r--;
  97.                     c++;
  98.                 }
  99.                 else
  100.                 {
  101.                     return;
  102.                 }
  103.             }
  104.             printf("%d %d\n",posr+1,posc+1);
  105.             return;
  106.         }
  107.         else if(di==7)
  108.         {
  109.             for(int i=0;i<l;i++)
  110.             {
  111.                 if(findd[i]==word[r][c])
  112.                 {
  113.                     r++;
  114.                     c--;
  115.                 }
  116.                 else
  117.                 {
  118.                     return;
  119.                 }
  120.             }
  121.             printf("%d %d\n",posr+1,posc+1);
  122.             return;
  123.         }
  124.         else if(di==8)
  125.         {
  126.             for(int i=0;i<l;i++)
  127.             {
  128.                 if(findd[i]==word[r][c])
  129.                 {
  130.                     r++;
  131.                     //c--;
  132.                 }
  133.                 else
  134.                 {
  135.                     return;
  136.                 }
  137.             }
  138.             printf("%d %d\n",posr+1,posc+1);
  139.             return;
  140.         }
  141.         else if(di==9)
  142.         {
  143.             for(int i=0;i<l;i++)
  144.             {
  145.                 if(findd[i]==word[r][c])
  146.                 {
  147.                     r++;
  148.                     c++;
  149.                 }
  150.                 else
  151.                 {
  152.                     return;
  153.                 }
  154.             }
  155.             printf("%d %d\n",posr+1,posc+1);
  156.             return;
  157.         }
  158.     }
  159. }
  160. int main()
  161. {
  162.    
  163.     scanf(" %d %d",&n,&m);
  164.     for(int i=0;i<n;i++)
  165.     {
  166.         for(int j=0;j<m;j++)
  167.         {
  168.             scanf(" %c",&word[i][j]);
  169.             if(word[i][j]>=65&&word[i][j]<=90)
  170.             {
  171.                 word[i][j]+=32;
  172.             }
  173.         }
  174.     }
  175.     int nw;
  176.     scanf(" %d",&nw);
  177.     int l;
  178.     for(int i=0;i<nw;i++)
  179.     {
  180.         scanf(" %s",findd);
  181.         l=strlen(findd);
  182.         for(int j=0;j<l;j++)
  183.         {
  184.             if(findd[j]>=65&&findd[j]<=90)
  185.             {
  186.                 findd[j]=findd[j]+32;
  187.             }
  188.         }
  189.         for(int j=0;j<n;j++)
  190.         {
  191.             for(int k=0;k<m;k++)
  192.             {
  193.                 if(word[j][k]==findd[0])
  194.                 {
  195.                     findword(j,k,l,n,m,0,j,k);
  196.                 }
  197.             }
  198.         }
  199.        
  200.     }
  201. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top