add for loops
This commit is contained in:
parent
b402c8f7d5
commit
7f7cf6a032
2 changed files with 40 additions and 20 deletions
|
@ -8,18 +8,13 @@ print() {
|
|||
int x;
|
||||
int y;
|
||||
|
||||
y = 0;
|
||||
while (y < 8) {
|
||||
x = 0;
|
||||
while (x < 8) {
|
||||
for (y=0; y<8; y++) {
|
||||
for (x=0; x<8; x++)
|
||||
if (t[x + 8*y])
|
||||
printf(" Q");
|
||||
else
|
||||
printf(" .");
|
||||
x++;
|
||||
}
|
||||
printf("\n");
|
||||
y++;
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
@ -29,8 +24,7 @@ chk(int x, int y) {
|
|||
int r;
|
||||
|
||||
r = 0;
|
||||
i = 0;
|
||||
while (i < 8) {
|
||||
for (i=0; i<8; i++) {
|
||||
r = r + t[x + 8*i];
|
||||
r = r + t[i + 8*y];
|
||||
if (x+i < 8 & y+i < 8)
|
||||
|
@ -41,11 +35,8 @@ chk(int x, int y) {
|
|||
r = r + t[x-i + 8*(y+i)];
|
||||
if (x-i >= 0 & y-i >= 0)
|
||||
r = r + t[x-i + 8*(y-i)];
|
||||
if (r)
|
||||
return 1;
|
||||
i++;
|
||||
}
|
||||
return 0;
|
||||
return r;
|
||||
}
|
||||
|
||||
go(int n, int x, int y) {
|
||||
|
@ -54,17 +45,14 @@ go(int n, int x, int y) {
|
|||
N++;
|
||||
return 0;
|
||||
}
|
||||
while (y < 8) {
|
||||
while (x < 8) {
|
||||
for (; y<8; y++) {
|
||||
for (; x<8; x++)
|
||||
if (chk(x, y) == 0) {
|
||||
t[x + 8*y]++;
|
||||
go(n+1, x, y);
|
||||
t[x + 8*y]--;
|
||||
}
|
||||
x++;
|
||||
}
|
||||
x = 0;
|
||||
y++;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue