求教如何用C语言改编这个任务分配问题的代码? 40C

void cross()//交叉
{
int i,g,p,q;
int temp[omax]={0};
g=rand()%pmax;
p=rand()%H;
q=rand()%R;
for(i=0;i<omaxn[g];i++)
{
temp[i]=human[g][p][i];
human[g][p][i]=robot[g][q][i];
robot[g][q][i]=temp[i];
}

}

void mutation() //变异函数
{
int g,p,q,s,temp ;
g=rand()%pmax;
p=rand()%H;
q=rand()%R;
s=rand()%omaxn[g];
temp=human[g][p][s];
human[g][p][s]=robot[g][q][s];
robot[g][q][s]=temp;
}

1个回答

#include
void function();
void main()
{
int t;
printf("input t\n");
scanf("%d",&t);
while(0 function();
}
void function()
{
int i,j,n,a[100][100],a1[100]={0},k=0,i1,j1;
printf("input n\n");
scanf("%d",&n);
for(i=0;i {
printf("%2d:",i+1);
scanf("%d",&a[i][0]);
for(j=1;j scanf("%d",&a[i][j]);
}
for(i=1;i for(j=n-1;j>=0;j--)
if(a[j][0]==0)
{
a1[k++]=j+1;
for(i1=0;i1 for(j1=1;j1 if(a[i1][j1]==j+1)
{
a[i1][0]--;
break;
}
a[j][0]=200;
break;
}
if(k==n)
{
for(i=0;i printf("%d ",a1[i]);
printf("\n");
}
else
printf("-1\n");
}#include
void function();
void main()
{
int t;
printf("input t\n");
scanf("%d",&t);
while(0 function();
}
void function()
{
int i,j,n,a[100][100],a1[100]={0},k=0,i1,j1;
printf("input n\n");
scanf("%d",&n);
for(i=0;i {
printf("%2d:",i+1);
scanf("%d",&a[i][0]);
for(j=1;j scanf("%d",&a[i][j]);
}
for(i=1;i for(j=n-1;j>=0;j--)
if(a[j][0]==0)
{
a1[k++]=j+1;
for(i1=0;i1<n;i1++)
for(j1=1;j1<=a[i1][0];j1++)
if(a[i1][j1]==j+1)
{
a[i1][0]--;
break;
}
a[j][0]=200;
break;
}
if(k==n)
{
for(i=0;i<k;i++)
printf("%d ",a1[i]);
printf("\n");
}
else
printf("-1\n");
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!