fork download
  1. #include <stdio.h>
  2.  
  3. #define N 4
  4.  
  5. // İki vezirin bir-birini təhdid etmədiyini yoxlayır
  6. int safe(int r1, int c1, int r2, int c2) {
  7. return r1 != r2 && c1 != c2 && (r1 - r2) != (c1 - c2) && (r1 - r2) != (c2 - c1);
  8. }
  9.  
  10. int main() {
  11. int count = 0;
  12.  
  13. // Bütün mümkün 2 vezir yerləşdirmələrini yoxlayırıq
  14. for (int r1 = 0; r1 < N; r1++) {
  15. for (int c1 = 0; c1 < N; c1++) {
  16. for (int r2 = 0; r2 < N; r2++) {
  17. for (int c2 = 0; c2 < N; c2++) {
  18. if (safe(r1, c1, r2, c2)) {
  19. count++;
  20. }
  21. }
  22. }
  23. }
  24. }
  25.  
  26. // Hər cüt iki dəfə sayılıb, ona görə 2-yə bölürük
  27. printf("4x4 taxtada 2 veziri yerləşdirməyin yolları: %d\n", count / 2);
  28.  
  29. return 0;
  30. }
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
4x4 taxtada 2 veziri yerləşdirməyin yolları: 44