¡Urgente! Implementar un pequeño programa en lenguaje C.
#Define N 10 //Diez datos
#Define M 5 //Cinco grupos
int limit[N ] [N]=
{
{1, n}, /0 límite 1;
{3, 5, 6, N}, // 1; límite 3, 5, 6;
{0, 1, 6, 7, N}, // 2 límite 0, 1, 6, 7; N}, //3 límite 1, 2;
{N}, //
{1, 2, N}, //5 límite 1, 2; > p>
{2, N}, //6 límite 2
{8, 9, N}, //7 límite 8, 9; , 6, 7, N}, //8 limita 5, 6, 7;
{2, 8, N} //9 limita 2, 8.
};
//Determinar si M restringe n.
bool m_limit_n(int m, int n)
{
int I;
if (m & gt= N | | n & gt=N)
{
devuelve falso
}
for(I = 0;i& ltN & amp& límite de amp [m][I]<n;i++)
{
if(límite[m][i]==n)
{ p>
Devuelve verdadero
}
}
Devuelve falso
}
Valor booleano válido (int *arr)
{
int i, j
for(I = 0; i<n; i=i+2)
{
if(arr[I]& gt; arr[i+1])
{
Devuelve falso p>
}
if(m_limit_n(arr[i], arr[(i+2)%N])
||m_limit_n(arr[i], arr [(i+ 3)%N])
||m_limit_n(arr[i+1], arr[(i+2)%N])
||m_limit_n( arr[i+ 1], arr[(i+3)%N])
{
Devuelve falso
}
}
Devuelve verdadero
}
intercambio nulo(int *arr, int n, int m)
{
Interno temperatura;
temp = arr[n];
arr[n]= arr[m];
arr[m]= temp ;
}
int a[]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
void permanente(int * arr, int n, int curr)
{
int I;
if(curr>=n-1)
{
if(valid(arr))
{
para(I = 0;i<n;i=i+ 2)
{
printf("%d, %d ", arr[i], arr[I+1]);
} p>
printf(" \ b \ n ");
}
}
Otros
{
for(I = curr ;i<n;i=i+1)
{
if(i==curr)
{
perm(arr, n, curr+1);
}
Otros
{
intercambio (arr, I, curr
perm (arr, n, curr+1);
intercambio (arr, I, curr
}
}
}
}
int main()
{
permanente(a,tamañode(a)/tamañode( a[0]),0);
Devuelve 0;
}
"Las restricciones se basan en La situación real está determinada, por lo que el programa es requerido para dar indicaciones al usuario para ingresar restricciones.
"Es fácil, hazlo tú mismo.