📄 resource_variation.java
字号:
package Resource_Selection;
import java.util.*;
public class resource_variation {
classad classad = new classad();
Random rd=new Random();
rank rank_variation=new rank();
int rdget=0;
int i=0,j=0;
int lv=0;
int father;
int xch;
int temp[][]=new int[20][20];
int ra[]=new int[20];
int start,end;
int min,min_no=0,c;
void resource_variation(int a[][],int m, int n,classad que[]){
for(i=0;i<temp.length;i++){
temp[0][i]=0;
}
i=0;
while (i<5){
rdget = Math.abs(rd.nextInt()) % n;
if(rank_variation.rank(a,rdget,que,n) > lv) {
lv=rank_variation.rank(a,rdget,que,n);
father = rdget;
}
i++;
}
rdget = Math.abs(rd.nextInt()) % 3 + 1;
switch (rdget)
{
case 1:
rdget = Math.abs(rd.nextInt()) %100 +1;
start=(rdget-1)*n/100;
end=rdget*n/100;
if(start>end){
xch=start;
start=end;
end=start;
}
for (i=0;i<n;i++)
{
temp[0][i]=a[father][i];
}
for (i=start;i<end;i++)
{
temp[0][i]=~a[father][i];
}
case 2:
for (i=0;i<4;i++){
ra[i] = Math.abs(rd.nextInt()) % n;
}
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(ra[i]>ra[j]){
xch=ra[i];
ra[i]=ra[j];
ra[j]=xch;
}
}
}
j=0;
for(i=0;i<ra[0];i++){
temp[0][j]=a[father][i];
j++;
}
for(i=ra[2];i<ra[3];i++){
temp[0][j]=a[father][i];
j++;
}
for(i=ra[1];i<ra[2];i++){
temp[0][j]=a[father][i];
j++;
}
for(i=ra[0];i<ra[1];i++){
temp[0][j]=a[father][i];
j++;
}
for(i=ra[0];i<ra[1];i++){
temp[0][j]=a[father][i];
j++;
}
for(i=ra[3];i<n;i++){
temp[0][j]=a[father][i];
j++;
}
case 3:
while(ra[0]==ra[1]){
for (i = 0; i < 2; i++) {
ra[i] = Math.abs(rd.nextInt()) % n;
}
}
if(ra[0]>ra[1]){
xch=ra[0];
ra[0]=ra[1];
ra[1]=xch;
}
j=0;
for(i=0;i<ra[0];i++){
temp[0][j]=a[father][i];
j++;
}
for(i=ra[0];i<ra[1];i++){
temp[0][j]=a[father][ra[0]];
j++;
}
for(i=ra[1];i<n;i++){
temp[0][j]=a[father][i];
j++;
}
}
min=rank_variation.rank(a,0,que,n);
min_no=0;
while (i<m){
c=rank_variation.rank(a,i,que,n);
if (c<min){
min=c;
min_no=i;
}
i++;
}
if (rank_variation.rank(temp,0,que,n)>min) {
for (i = 0; i < n; i++) {
a[min_no][i] = temp[0][i];
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -