fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. void solve()
  6. {
  7. int n , m , a , b ;
  8. cin>>n>>m>>a>>b ;
  9. vector<string>arr(n) ;
  10. vector<string>arr2(a);
  11. for(int i = 0 ; i < n ; ++i)
  12. cin>>arr[i] ;
  13. for(int i = 0 ; i < a ; ++i)
  14. cin>>arr2[i];
  15. vector< pair<int , int> >vp ;
  16. for(int col = 0 ; col < b ; ++col)
  17. {
  18. for(int row = 0 ; row < a ; ++row)
  19. {
  20. if(arr2[row][col] == 'x')
  21. {
  22. for(int r = 0 ; r < a ; ++r)
  23. {
  24. for(int c = 0 ; c < b ; ++c)
  25. {
  26. if(arr2[r][c] == 'x')
  27. vp.push_back({r - row , c - col});
  28. }
  29. }
  30. col = b ;
  31. break;
  32. }
  33. }
  34. }
  35. for(int col = 0 ; col < m ; ++col)
  36. {
  37. for(int row = 0 ; row < n ; ++row)
  38. {
  39. if(arr[row][col] == 'x')
  40. {
  41. for(int i = 0 ; i < vp.size() ; ++i)
  42. {
  43. int x = row + vp[i].first , y = col + vp[i].second ;
  44. if(x < 0 || x >= n || y < 0 || y >= m)
  45. {
  46. cout<<"NIE\n";
  47. return ;
  48. }
  49. if(arr[x][y] == '.')
  50. {
  51. cout<<"NIE\n";
  52. return ;
  53. }
  54. arr[x][y] = '.' ;
  55. }
  56. }
  57. }
  58. }
  59. cout<<"TAK\n";
  60. return ;
  61. }
  62.  
  63. int main()
  64. {
  65. ios::sync_with_stdio(0);
  66. cin.tie(0);
  67. int t ;
  68. cin>>t ;
  69. while(t--)
  70. {
  71. solve();
  72. }
  73. return 0 ;
  74. }
Success #stdin #stdout 0s 15240KB
stdin
2
3 4 4 2
xx..
.xx.
xx..
x.
.x
x.
..
2 2 2 2
xx
xx
.x
x.
stdout
TAK
NIE