I più cliccati

Trucchi Farmville

Farmville Toolbar [GRATIS]

Vinci Farm Cash $FV[GRATIS]

Farmville Extreme Manager [5€]

Scrivere sottosopra [GRATIS]

Speed Downloading [GRATIS]

Avatarize Facebook [GRATIS]

Personalizza Facebook [GRATIS]

CONSOLIDAMENTO PARETI ROCCIOSE

Trucchi Giochi Facebook

coming soon

Aggiungimi su Facebook

giovedì 20 dicembre 2007

Scacchi [Cavallo]

0 commenti
Scrivere un programma che presa in
input la dimensione della scacchiera ed una casella della scacchiera, sia essa C, calcoli
il minimo numero di mosse che un cavallo posizionato in C necessita per raggiungere
TUTTE le altre caselle.


#include

void cavallo(int N, int matrice[][N]);

int main()
{
int N=0;
int i=0;
int j=0;
int riga=0;
int colonna=0;
scanf("%d",&N);

int matrice[N][N];

scanf("%d",&riga);
scanf("%d",&colonna);

for(i=0; i for(j=0; j matrice[i][j] = 0;

matrice[riga][colonna] = 0;
int a=riga;
int b=colonna;
if(matrice[a+2][b+1] == 0 && (a+2) matrice[a+2][b+1] = matrice[riga][colonna] + 1;
if (matrice[a+1][b+2] == 0 && (a+1) matrice[a+1][b+2] = matrice[riga][colonna] + 1;
if (matrice[a-1][b-2] == 0 && (a-1)>=0 && (b-2)>=0)
matrice[a-1][b-2] = matrice[riga][colonna] + 1;
if (matrice[a-2][b-1] == 0 && (a-2)>=0 && (b-1)>=0)
matrice[a-2][b-1] = matrice[riga][colonna] + 1;
if (matrice[a-1][b+2] == 0 && (a-1)>=0 && (b+2) matrice[a-1][b+2] = matrice[riga][colonna] + 1;
if (matrice[a+1][b-2] == 0 && (b-2)>=0 && (a+1) matrice[a+1][b-2] = matrice[riga][colonna] + 1;
if (matrice[a+2][b-1] == 0 && (b-1)>=0 && (a+2) matrice[a+2][b-1] = matrice[riga][colonna] + 1;
if (matrice[a-2][b+1] == 0 && (a-2)>=0 && (b+1) matrice[a-2][b+1] = matrice[riga][colonna] + 1;

cavallo(N, matrice);

matrice[riga][colonna] = 0;
for(i=0; i {
for(j=0; j {
printf("%d ",matrice[i][j]);
}
printf("\n");
}
return 0;
}

void cavallo(int N, int matrice[][N])
{
int i=0;
int j=0;
int a=0;
int b=0;
int M=0;

M=N*N;


int star=1;

while(M>0)
{

a=0;
for(i=0; i {
b=0;
for(j=0; j {
if (matrice[i][j] != 0 && matrice[i][j] == star)
{
if(matrice[a+2][b+1] == 0 && (a+2) matrice[a+2][b+1] = matrice[i][j] + 1;
if (matrice[a+1][b+2] == 0 && (a+1) matrice[a+1][b+2] = matrice[i][j] + 1;
if (matrice[a-1][b-2] == 0 && (a-1)>=0 && (b-2)>=0)
matrice[a-1][b-2] = matrice[i][j] + 1;
if (matrice[a-2][b-1] == 0 && (a-2)>=0 && (b-1)>=0)
matrice[a-2][b-1] = matrice[i][j] + 1;
if (matrice[a-1][b+2] == 0 && (a-1)>=0 && (b+2) matrice[a-1][b+2] = matrice[i][j] + 1;
if (matrice[a+1][b-2] == 0 && (b-2)>=0 && (a+1) matrice[a+1][b-2] = matrice[i][j] + 1;
if (matrice[a+2][b-1] == 0 && (b-1)>=0 && (a+2) matrice[a+2][b-1] = matrice[i][j] + 1;
if (matrice[a-2][b+1] == 0 && (a-2)>=0 && (b+1) matrice[a-2][b+1] = matrice[i][j] + 1;
}
}
}
star++;
M--;
}
}
 

juni0r. Copyright 2008 All Rights Reserved Revolution Two Church theme by Brian Gardner Converted into Blogger Template by Bloganol dot com