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. char arr[n][m] , arr2[a][b] ;
  10. for(int i = 0 ; i < n ; ++i)
  11. for(int j = 0 ; j < m ; ++j)
  12. cin>>arr[i][j] ;
  13. for(int i = 0 ; i < a ; ++i)
  14. for(int j = 0 ; j < b ; ++j)
  15. cin>>arr2[i][j] ;
  16. vector< pair<int , int> >vp ;
  17. for(int col = 0 ; col < b ; ++col)
  18. {
  19. for(int row = 0 ; row < a ; ++row)
  20. {
  21. if(arr2[row][col] == 'x')
  22. {
  23. for(int r = 0 ; r < a ; ++r)
  24. {
  25. for(int c = 0 ; c < b ; ++c)
  26. {
  27. if(arr2[r][c] == 'x')
  28. vp.push_back({r - row , c - col});
  29. }
  30. }
  31. col = b ;
  32. break;
  33. }
  34. }
  35. }
  36. for(int col = 0 ; col < m ; ++col)
  37. {
  38. for(int row = 0 ; row < n ; ++row)
  39. {
  40. if(arr[row][col] == 'x')
  41. {
  42. for(int i = 0 ; i < vp.size() ; ++i)
  43. {
  44. int x = row + vp[i].first , y = col + vp[i].second ;
  45. if(x < 0 || x >= n || y < 0 || y >= m)
  46. {
  47. cout<<"NIE\n";
  48. return ;
  49. }
  50. if(arr[x][y] == '.')
  51. {
  52. cout<<"NIE\n";
  53. return ;
  54. }
  55. arr[x][y] = '.' ;
  56. }
  57. }
  58. }
  59. }
  60. cout<<"TAK\n";
  61. return ;
  62. }
  63.  
  64. int main()
  65. {
  66. ios::sync_with_stdio(0);
  67. cin.tie(0);
  68. int t ;
  69. cin>>t ;
  70. while(t--)
  71. {
  72. solve();
  73. }
  74. return 0 ;
  75. }
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