Untitled
unknown
c_cpp
3 years ago
1.7 kB
5
Indexable
#include<bits/stdc++.h> using namespace std; #define pb push_back char arr[1001][1001]; char find2[1001][1001]; string gridSearch(vector<string>g, vector<string>p){ int b=g.size(),c=g[0].size(); for (int i=0;i<b; i++) { for (int j=0;j<c; j++) { arr[i][j]=g[i][j]; } } int d=p.size(),e=p[0].size(); for (int i=0;i<d; i++) { for (int j=0;j<e; j++) { find2[i][j]=p[i][j]; } } if(d>b || e>c){return "NO";} int ans=0; for (int z=0;z<=b-d; z++) { for (int zz=0; zz<=c-e; zz++) { int ck=0; for (int l=z; l<z+d; l++) { for (int ll=zz; ll<zz+e; ll++) { if (find2[l-z][ll-zz]!=arr[l][ll]){ ck=1; break; } } if (ck==1)break; } if (ck==0) {ans=1; break;} } if (ans==1) break; } if (ans) return "YES"; else return "NO"; } int main() { int t; cin>>t; while(t--){ int n,m,a,b,i; string s; vector<string>v,fin; cin>>n>>m; for(i=0;i<n;i++){ cin>>s; v.pb(s); } cin>>a>>b; for(i=0;i<a;i++){ cin>>s; fin.pb(s); } cout<<gridSearch(v,fin); } }
Editor is loading...