Advertisement
Rhosto

nuuuuuuuuu

Dec 7th, 2019
586
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstring>
  4. using namespace std;
  5. char a[107][107];
  6. char viz[107][107];
  7. int n;
  8. int ok=1;
  9. int di[8]={-1,-1,-1,0,1,1,1,0};
  10. int dj[8]={-1,0,1,1,1,0,-1,-1};
  11. char s[1000];
  12. int nrcuv;
  13.  
  14. void citire()
  15. {
  16. for(int i=1; i<=n;i++)
  17. {
  18. for(int j=1; j<=n; j++)
  19. {
  20. cin>>a[i][j];
  21. }
  22. }
  23. for(int i=0;i<=n+1;i++)
  24. {
  25. for(int j=0;j<=n+1;j++)
  26. {
  27. viz[i][j]==0;
  28. }
  29. }
  30. }
  31. void bordare()
  32. {
  33. for(int i=0; i<=n+1;i++)
  34. {
  35. a[i][0]=a[i][n]=a[0][i]=a[n][i]='-';
  36. }
  37. }
  38.  
  39. void f(int x, int y, int p)
  40. {
  41.  
  42. if(p+1==strlen(s))
  43. {
  44. ok=1;
  45. }
  46. for(int i=0;i<8;i++)
  47. {
  48. int vi=x+di[i];
  49. int vj=y+dj[i];
  50. if(a[vi][vi]==s[p+1] && viz[vi][vj]==0)
  51. {
  52. viz[vi][vj]=1;
  53. f(vi,vj,p++);
  54. viz[vi][vj]=0;
  55. }
  56. }
  57. }
  58. void cuvant()
  59. {
  60. cin.getline(s,1000);
  61. }
  62. void m(char s[1000])
  63. {
  64. for(int i=0;i<n;i++)
  65. {
  66. for(int j=0;j<n;j++)
  67. {
  68. if(s[0]==a[i][j])
  69. f(i,j,0);
  70. if(ok==1)
  71. {
  72. cout<<"da";
  73. nrcuv--;
  74. if(nrcuv>0)
  75. {
  76. cin.getline (s, 1000);
  77. m(s);
  78. }
  79.  
  80. }
  81. else
  82. {
  83. cout<<"nem";
  84. nrcuv--;
  85. if(nrcuv>0)
  86. {
  87. cin.getline (s, 1000);
  88. m(s);
  89.  
  90.  
  91. }
  92. }
  93. }
  94. }
  95.  
  96. }
  97.  
  98.  
  99. int main()
  100. {
  101.  
  102. cin>>nrcuv;
  103. cin>>n;
  104. citire();
  105. bordare();
  106. cin.getline(s,1000);
  107. m(s);
  108. return 0;
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement