Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- int n = 5;
- int sol[20];
- void BackTracking(int k);
- bool valid(int k);
- void afis();
- void main() {
- //int k = 1;
- BackTracking(1);
- _getch();
- }
- void BackTracking(int k) {
- for (int i = 1; i <= n; i++) {
- sol[k] = i;
- if (valid(k)) {
- if (k == n) {
- afis();
- }
- else {
- BackTracking(k + 1);
- }
- }
- }
- }
- bool valid(int k) {
- for (int i = 1; i < k; i++)
- if (sol[i] == sol[k])
- return false;
- if (k % 2 == 0 && sol[k] != k)
- return false;
- return true;
- }
- void afis() {
- for (int i = 1; i <= n; i++) {
- printf("%d ", sol[i]);
- }
- printf("\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement