#include "stdio.h" #include "math.h" #define N 30 #define M 2 #define P 70 #define S 500 #define T 220 void main() {int i=0,dis=0,r=0,a[P],q=10,k=0,l=0,c=0,t=0,disz[10]; double cha=0,chaz[10],cost=0,time=0,f=1.1666,max=0,costz[10],timez[10]; int j1=0,j2=0,j3=0,j4=0,j5=0,j6=0,j7=0; struct dump { int num; double Tdump; int x,y; }; struct dump d[37]={{1,1.50,3,2}, {2,1.5,1,5}, {3,0.55,5,4}, {4,1.20,4,7}, {5,1.30,3,11}, {6,0.85,0,8}, {7,1.20,7,9}, {8,2.30,9,6}, {9,1.40,10,2}, {10,1.50,14,0}, {11,1.10,17,3}, {12,2.70,14,6}, {13,1.80,10,12}, {14,1.80,10,12}, {15,1.40,19,9}, {16,1.50,2,16}, {17,0.80,6,18}, {18,1.50,11,17}, {19,0.80,15,12}, {20,0.60,7,14}, {21,1.30,17,16}, {22,1.80,21,0}, {23,1.40,27,9}, {24,1.60,15,19}, {25,1.60,15,14}, {26,1.00,20,17}, {27,2.00,21,13}, {28,1.00,24,20}, {29,2.10,25,16}, {30,1.20,28,18}, {31,1.90,5,12}, {32,1.20,22,5}, {33,1.60,25,7}, {34,1.20,9,20}, {35,1.50,9,15}, {36,1.30,30,12}, {37,0.00,0,0}};
for(j1=0;j1<36;j1++){if(j1%2==0)printf("11111111111111/n"); for(j2=j1+1;j2<36;j2++){if(j2%3==0)printf("22222222222/n"); for(j3=j2+1;j3<36;j3++){if(j3%4==0)printf("333333333/n"); for(j4=j3+1;j4<36;j4++){if(j4%5==0)printf("4444444/n"); for(j5=j4+1;j5<36;j5++){if(j5%6==0)printf("55555/n"); for(j6=j5+1;j6<36;j6++){if(j6%7==0)printf("666/n"); for(j7=j6+1;j7<36;j7++) {cha=(6.00-(d[j1].Tdump+d[j2].Tdump+d[j3].Tdump+d[j4].Tdump+d[j5].Tdump+d[j6].Tdump+d[j7].Tdump)); dis=(fabs(d[j1].x-d[j2].x)+fabs(d[j2].x-d[j3].x)+fabs(d[j3].x-d[j4].x) +fabs(d[j4].x-d[j5].x)+fabs(d[j5].x-d[j6].x)+fabs(d[j6].x-d[j7].x) +fabs(d[j1].y-d[j2].y)+fabs(d[j2].y-d[j3].y)+fabs(d[j3].y-d[j4].y) +fabs(d[j4].y-d[j5].y)+fabs(d[j5].y-d[j6].y)+fabs(d[j6].y-d[j7].y)); cost=((d[j7].x+d[j7].y)*0.4+(fabs(d[j7].x-d[j6].x)+fabs(d[j7].y-d[j6].y))*d[j7].Tdump*1.8 +(fabs(d[j6].x-d[j5].x)+fabs(d[j6].y-d[j5].y))*(d[j7].Tdump+d[j6].Tdump)*1.8 +(fabs(d[j5].x-d[j4].x)+fabs(d[j5].y-d[j4].y))*(d[j7].Tdump+d[j6].Tdump+d[j5].Tdump)*1.8 +(fabs(d[j4].x-d[j3].x)+fabs(d[j4].y-d[j3].y))*(d[j7].Tdump+d[j6].Tdump+d[j5].Tdump+d[j4].Tdump)*1.8 +(fabs(d[j3].x-d[j2].x)+fabs(d[j3].y-d[j2].y))*(d[j7].Tdump+d[j6].Tdump+d[j5].Tdump+d[j4].Tdump+d[j3].Tdump)*1.8 +(fabs(d[j2].x-d[j1].x)+fabs(d[j2].y-d[j1].y))*(d[j7].Tdump+d[j6].Tdump+d[j5].Tdump+d[j4].Tdump+d[j3].Tdump+d[j2].Tdump)*1.8 +(fabs(d[j1].x+d[j1].y))*(d[j7].Tdump+d[j6].Tdump+d[j5].Tdump+d[j4].Tdump+d[j3].Tdump+d[j2].Tdump+d[j1].Tdump)*1.8); max=fabs(d[j1].x+d[j1].y); if(max<fabs(d[j2].x+d[j2].y))max=fabs(d[j2].x+d[j2].y); if(max<fabs(d[j3].x+d[j3].y))max=fabs(d[j3].x+d[j3].y); if(max<fabs(d[j4].x+d[j4].y))max=fabs(d[j4].x+d[j4].y); if(max<fabs(d[j5].x+d[j5].y))max=fabs(d[j5].x+d[j5].y); if(max<fabs(d[j6].x+d[j6].y))max=fabs(d[j6].x+d[j6].y); if(max<fabs(d[j7].x+d[j7].y))max=fabs(d[j7].x+d[j7].y); time=2*max*60/40+7*10;
if(cha<=M&&cha>=0&&dis<N&&cost<S&&time<T){disz[k]=dis;chaz[k]=cha;costz[k]=cost;timez[k]=time;k++; printf("**%2d, %2d, %2d , %2d, %2d, %2d, %2d**",d[j1].num,d[j2].num,d[j3].num,d[j4].num,d[j5].num,d[j6].num,d[j7].num); if(j7%2==0)printf("/n"); for(;r<P;) { a[r++]=d[j1].num; a[r++]=d[j2].num; a[r++]=d[j3].num; a[r++]=d[j4].num; a[r++]=d[j5].num; a[r++]=d[j6].num; a[r++]=d[j7].num; if(r>P){printf("*********/n"); goto label; } break; } } } } } }
} } } printf("**********all test***********all test***********all test***************/n"); label: for(r=0;r<P;r++) {if(r%7==0){ printf("/ndis is:%5d,cha is: %5fcost is%f,time is%f",disz[l],chaz[l],costz[l],timez[l++]); printf("the zuhe is /n<<:"); } printf("%5d",a[r]); }
}