SHARE
TWEET

toi2_word.cpp

a guest Dec 9th, 2019 82 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 arr[30][30];
  4. int c[9];
  5. int ii[8] = {0,-1,-1,-1,0,1,1,1};
  6. int jj[8] = {-1,-1,0,1,1,1,0,-1};
  7. int main(){
  8.     int n,m;
  9.     scanf(" %d %d",&n,&m);
  10.     for(int i = 1;i<=n;i++){
  11.         for(int j = 1;j<=m;j++){
  12.             scanf(" %c",&arr[i][j]);
  13.             if(arr[i][j] >= 'a') arr[i][j] += (-'a' + 'A');
  14.         }
  15.     }
  16.     /*
  17.     for(int i = 1;i<=n;i++){
  18.         for(int j = 1;j<=m;j++){
  19.             printf("%c ",arr[i][j]);
  20.         }
  21.         printf("\n");
  22.     }
  23.     */
  24.     int q;
  25.     string str;
  26.     scanf(" %d",&q);
  27.     int s1=0,s2=0;
  28.     while(q--){
  29.         cin >> str;
  30.         for(int i = 0;i<str.size();i++){
  31.             if(str[i] >= 'a') str[i] += (-'a' + 'A');
  32.         }
  33.         int yes=0;
  34.         for(int i = 1;i<=n;i++){
  35.             for(int j = 1;j<=m;j++){
  36.                 if(arr[i][j] == str[0]){
  37.                     for(int k = 0;k<8;k++){
  38.                         c[k] = 0;
  39.                     }
  40.                     for(int k = 0;k<8;k++){
  41.                         for(int l = 0;l<str.size();l++){
  42.                             if(arr[i+ii[k]*(l)][j+jj[k]*(l)] == str[l] && i+ii[k]*(l) >= 1 && i+ii[k]*(l) <= n && j+jj[k]*(l) >=1 && j+jj[k]*(l) <= m){
  43.                                 c[k]++;
  44.                                 //cout << arr[i+ii[k]*(l)][j+jj[k]*(l)] << " ";
  45.                             }
  46.                             else{
  47.                                 break;
  48.                             }
  49.                             //cout << endl;
  50.                             //cout << arr[i+ii[k]*(l)][j+jj[k]*(l)] << endl;
  51.                         }
  52.                     }
  53.                     for(int k = 0;k<8;k++){
  54.                         if(str.size()  == c[k]){
  55.                             yes = 1;
  56.                             s1 = i;
  57.                             s2 = j;
  58.                         }
  59.                     }
  60.                 }
  61.                 if(yes == 1) break;
  62.             }
  63.             if(yes == 1) break;
  64.         }
  65.         printf("%d %d\n",s1,s2);
  66.     }
  67.  
  68. }
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
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top