0) { sb.zeroelem[p][n]=2; sb.cost[p][0]--; sb.cost[0][n]--; sb.cost[0][0]--; } } } } if(sb.cost[0][0]>0) twozero(sb); else judge(sb,result); } sb=st; }?}}voidjudge(matrix&sb,intresult[501][2]){?inti,j;?intm;?intn;?intk;?m=0;?for(i=1;i<=sb.matrixsize;i++) for(j=1;j<=sb.matrixsize;j++) if(sb.zeroelem[i][j]==1) m++;?if(m==sb.matrixsize)?{ k=1; for(n=1;n<=result[0][0];n++) { for(i=1;i<=sb.matrixsize;i++) { for(j=1;j<=sb.matrixsize;j++) if(sb.zeroelem[i][j]==1) break; if(i<=sb.personnumber&&j<=sb.jobnumber) if(j!=result[k][1]) break; k++; } if(i==sb.matrixsize+1) break; else k=n*sb.matrixsize+1; } if(n>result[0][0]) { k=result[0][0]*sb.matrixsize+1; for(i=1;i<=sb.matrixsize;i++) for(j=1;j<=sb.matrixsize;j++) if(sb.zeroelem[i][j]==1) { result[k][0]=i; result[k++][1]=j; } result[0][0]++; }?}?else