Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int main(){
- ios::sync_with_stdio(false);
- int nf, mf;
- cin >> nf >> mf;
- vector<int> a(mf, -1);
- vector<string> f(nf);
- for(int i = 0; i < nf; i++){
- cin >> f[i];
- for(int j = 0; j < mf; j++)
- if(f[i][j] == '*')
- a[j] = i;
- }
- int nt, mt;
- cin >> nt >> mt;
- vector<int> b(mt, nt);
- vector<string> t(nt);
- for(int i = 0; i < nt; i++){
- cin >> t[i];
- for(int j = 0; j < mt; j++)
- if(t[i][j] == '#' && b[j] == nt)
- b[j] = i;
- }
- int ans = 0;
- for(int d = -700; d <= 700; d++){
- int val = 0;
- int v = 5000;
- for(int i = 0; i < mf; i++)
- if(i+d >= 0 && i+d < mt && a[i] != -1 && b[i+d] != nt)
- v = min(v, nf-a[i]-1+b[i+d]);
- if(v == 5000) continue;
- for(int i = 0; i < nf; i++)
- for(int j = 0; j < mf; j++)
- if(f[i][j] == '*' && i+v-nf >= 0 && i+v-nf < nt && j+d-1 >= 0 && j+d-1 < mt && t[i+v-nf][j+d-1] == '#')
- val++;
- ans = max(ans, val);
- }
- cout << ans;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement