GastonFontenla

Sopa de letras

Jul 30th, 2021
910
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. bool buscar(const vector <vector <char> > &mat, const string &s)
  6. {
  7.     for(int i=0; i<mat.size(); i++)
  8.     {
  9.         for(int j=0; j<mat[i].size(); j++)
  10.         {
  11.             int cont = 0;
  12.             for(int k=0; k<s.size() && j+k < mat[i].size(); k++)
  13.                 if(s[k] == mat[i][j+k])
  14.                     cont++;
  15.             if(cont == s.size())
  16.                 return true;
  17.         }
  18.     }
  19.  
  20.     return false;
  21. }
  22.  
  23. int main()
  24. {
  25.     int n, m, k;
  26.     cin >> n >> m >> k;
  27.     vector <vector <char> > mat(n, vector <char> (m)), inv(m, vector <char> (n));
  28.  
  29.     for(int i=0; i<n; i++)
  30.     {
  31.         for(int j=0; j<m; j++)
  32.         {
  33.             cin >> mat[i][j];
  34.             inv[j][i] = mat[i][j];
  35.         }
  36.     }
  37.  
  38.     for(int i=0; i<k; i++)
  39.     {
  40.         string s;
  41.         cin >> s;
  42.         string t(s.rbegin(), s.rend());
  43.  
  44.         if(buscar(mat, s)|| buscar(inv, s) || buscar(mat, t)|| buscar(inv, t))
  45.             cout << "SI" << endl;
  46.         else
  47.             cout << "NO" << endl;
  48.     }
  49.  
  50.     return 0;
  51. }
  52.  
RAW Paste Data