Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. int i,j, n, nsqr, q ;
  4. int dx[9], dy[9], h[29][29] ;
  5. void prnt(void)
  6. {
  7. int p, r ;
  8. for ( p = 1 ; p<=n ; p++)
  9. {
  10. for ( r = 1 ; r<=n ; r++ )
  11. printf("%2d ", h[p][r] ) ;
  12. printf("\n") ;
  13. }
  14. printf("\n") ;
  15. }
  16. int t ( int i, int x, int y)
  17. // возвращает 1, если доска заполнена, 0 - если нет продолжений
  18. {
  19. int j, u, v , q1=0 ;
  20. for(j=1; (!q1) && (j<=8); j++)
  21. {
  22. u = x+dx[j] ; v = y +dy[j] ;
  23. if ( 1<= u && u <=n && 1 <=v && v<=n && h[u][v]==0)
  24. {
  25. h[u][v] = i ;
  26. if (i<nsqr)
  27. {q1 = t (i+1, u, v) ;
  28. if (q1==0) h[u][v]=0 ;
  29. } else q1 = 1 ;
  30. }
  31. }
  32. return q1 ;
  33. }
  34. main()
  35. {
  36. dx[1] = 2; dx[2] = 1; dx[3] = -1; dx[4] = -2;
  37. dx[5] = -2; dx[6] = -1; dx[7] = 1; dx[8] = 2;
  38. dy[1] = 1; dy[2] = 2; dy[3] = 2; dy[4] = 1;
  39. dy[5] = -1; dy[6] = -2; dy[7] = -2; dy[8] = -1;
  40. n=8 ; nsqr = n*n ;
  41. clrscr() ;
  42. h[1][1]=1 ;
  43. if (t (2, 1, 1)==0) printf("\nнет решений") ;
  44. else prnt() ;
  45. getch() ;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement