| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 
 |  
#include <stdio.h>
#include <stdlib.h>
 
int tty(int H, int L, int Yt, int Xt, int Yg, int Xg, char lab[L][H])
{
 int mvt[500][500];
 int ppX[500][500];
 int ppY[500][500];
 int i , z , x , y , cpt ;
 
 //remplissage de mvt par des 1
 
for ( z = 0 ; z < H ; z++ )	
	{
	for ( i = 0 ; i < L ; i++)
	mvt[i][z] = 1;
 
	}
 for ( z = 0 ; z < H ; z++ )	// je tente un affiche ici aussi pour etre sur que tout est bien passé
	{
	for ( i = 0 ; i < L ; i++)
	printf("%c" , lab[i][z] );
 
printf("\n");
}
for (cpt= 0 , i = Xt , z = Yt ; (i != Xg && z != Yg ) || cpt < H*L*4  ; cpt++ )
{
x = i;
y = z ;
if (lab[i+1][z] == '.')
	{
	printf ("mvt 1 %i", mvt[i+1][z] %3);
	 if ((mvt[i+1][z] %3) != 0)
		{ mvt[i][z] = mvt[i][z] * 2 ;
		ppX[i+1][z] = i ;
		ppY[i+1][z] = z ;
		i++;
		}
	}	
else if (lab[i-1][z] == '.')
	{ 
		printf ("mvt 2 %i", mvt[i-1][z] %2);
	if ((mvt[i-1][z] %2) != 0)
		{ mvt[i][z] = mvt[i][z] * 3 ;
		ppX[i-1][z] = i ;
		ppY[i-1][z] = z ;
		i--; }
	}
else if (lab[i][z+1] == '.')
	{
	printf ("mvt 3 %i", mvt[i][z+1] %7);
	 if ((mvt[i][z+1] %7) != 0)
		{ mvt[i][z] = mvt[i][z] * 5 ;
		ppX[i][z+1] = i ;
		ppY[i][z+1] = z ;
		z++;}
	}	
else if (lab[i][z-1] == '.')
	{ 
	if ((mvt[i][z-1] %5) != 0)
		{ mvt[i][z] = mvt[i][z] * 7 ;
		ppX[i][z-1] = i ;
		ppY[i][z-1] = z ;
		z--;}
	}
 
//si aucun mvt effectuer revenir a la case precedente
if ( x == i && y == z)
	{
	i= ppX[i][z];
	z= ppY[i][z];
	printf("reviens sur la case %i %i", i, z);
	}
 
}
if (cpt != H*L*4 )
	printf("1");
else printf ("0");
 
}
 
 
int main(void)
{
  int z , i ;
  int H;
  int L;
  int Yt;
  int Xt;
  int Yg;
  int Xg;
  char lab[500][500]; 
 
  scanf("%i", &H);
  scanf("%i", &L);
  scanf("%i", &Yt);
  scanf("%i", &Xt);
  scanf("%i", &Yg);
  scanf("%i", &Xg);
 
  for ( i = 0 ; i < L ; i++ )
	{
 
		for ( z = 0 ; z < H ; z++)
		{
		scanf("%c" , &lab[i][z]);
 
	}
		getchar();
	}
 for ( i = 0 ; i < L ; i++ )	
	{
	printf("\n");
	for ( z = 0 ; z < H ; z++)
	printf("%c" , lab[i][z] );
 
 
}
 
 
  tty(H, H, Yt, Xt, Yg, Xg, lab);
 
  return 0;
} | 
Partager