山屋惊魂 · 大模拟 · 码长破千 · 祭

啥也不说,放代码(额~,虽然没有跟其他人比不是最长,也不错了)

缩放品尝,风味更加

   1 #include<iostream>
   2 #include<cstdio>
   3 #include<queue>
   4 #include<cmath>
   5 using namespace std;
   6 char a[20];
   7 int n,w,x,num[6][11],now[6];
   8 double f[110][10][10][10][10],p[11][18],sum[11][18];
   9 double ans[6][11];
  10 struct node{
  11     int a,b,c,d;
  12 };
  13 queue<node>q;
  14 void prework(){
  15     p[0][0]=1;
  16     for(register int i=1;i<=8;i++){
  17         for(register int j=0;j<=16;j++){
  18             for(register int k=0;k<=2;k++){
  19                 p[i][j+k]+=p[i-1][j]*(1.0/3.0);
  20             }
  21         }
  22     }
  23     for(register int i=1;i<=8;i++){
  24         sum[i][0]=p[i][0];
  25         for(register int j=1;j<=16;j++){
  26             sum[i][j]=sum[i][j-1]+p[i][j];
  27         }
  28     }
  29 }
  30 int work(){
  31     int type=0;
  32     char opt;
  33     scanf("%s",a);
  34     getchar();
  35     opt=getchar();
  36     if(opt=='+'||opt=='-'){
  37         scanf("%d",&x);
  38         x=(opt=='+')?x:-x;
  39         opt=getchar();
  40         if(opt=='?') type=4;
  41         if(a[0]=='M') type+=1;
  42         else if(a[0]=='S'&&a[1]=='p') type+=2;
  43         else if(a[0]=='S') type+=3;
  44         else type+=4;
  45         return type;
  46     }
  47     if(opt=='>'){
  48         opt=getchar();
  49         scanf("%d",&w);
  50         if(opt=='=') type=40;
  51         else type=8;
  52     }
  53     else if(opt=='<'){
  54         opt=getchar();
  55         scanf("%d",&w);
  56         if(opt=='=') type=56;
  57         else type=24;
  58     }
  59     int las=0,now=0;
  60     if(a[0]=='M') las=1;
  61     else if(a[0]=='S'&&a[1]=='p') las=2;
  62     else if(a[0]=='S') las=3;
  63     else las=4;
  64     scanf("%s",a);
  65     if(a[0]=='M') now=1;
  66     else if(a[0]=='S'&&a[1]=='p') now=2;
  67     else if(a[0]=='S') now=3;
  68     else now=4;
  69     type+=(las-1)*4+now;
  70     scanf("%d",&x);
  71     opt=getchar();
  72     if(opt=='?') type+=64;
  73     return type;
  74 }
  75 int main(){
  76     //freopen("1.in","r",stdin);
  77     //freopen("1.out","w",stdout);
  78     prework();
  79     for(register int i=1;i<=4;i++){
  80         scanf("%s%d",a+1,&now[i]);
  81         for(register int j=1;j<=8;j++) num[i][j]=a[j]-'0';
  82     }
  83     scanf("%d",&n);
  84     f[0][now[1]][now[2]][now[3]][now[4]]=1;
  85     q.push((node){now[1],now[2],now[3],now[4]});
  86     for(register int t=1;t<=n;t++){
  87         int type=work();
  88         while(q.size()){
  89             int a=q.front().a,b=q.front().b,c=q.front().c,d=q.front().d;q.pop();
  90         //    cout<<"t="<<t-1<<" a="<<a<<" b="<<b<<" c="<<c<<" d"<<d<<" type="<<type<<" f"<<f[t-1][a][b][c][d]<<endl;
  91             switch (type){
  92                 case 1:{//Might  + x
  93                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d];
  94                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d];
  95                     break;
  96                 }
  97                 case 2:{//Speed + x
  98                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d];
  99                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d];
 100                     break;
 101                 }
 102                 case 3:{//Sanity + x
 103                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d];
 104                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d];
 105                     break;
 106                 }
 107                 case 4:{//Knowledge + x
 108                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d];
 109                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d];
 110                     break;
 111                 }
 112                 case 5:{//Might + x个判定
 113                     for(register int i=0;i<=16;i++){
 114                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*p[(int)abs(x)][i];
 115                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*p[(int)abs(x)][i];
 116                     }
 117                     break;
 118                 }
 119                 case 6:{//Speed + x个判定
 120                     for(register int i=0;i<=16;i++){
 121                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*p[(int)abs(x)][i];
 122                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*p[(int)abs(x)][i];
 123                     }
 124                     break;
 125                 }
 126                 case 7:{//Sanity + x个判定
 127                     for(register int i=0;i<=16;i++){
 128                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*p[(int)abs(x)][i];
 129                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*p[(int)abs(x)][i];
 130                     }
 131                     break;
 132                 }
 133                 case 8:{//Knowledge + x个判定
 134                      for(register int i=0;i<=16;i++){
 135                          if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*p[(int)abs(x)][i];
 136                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*p[(int)abs(x)][i];
 137                     }
 138                     break;
 139                 }
 140 /*--------------------------------------------------------------------------------------------------------*/
 141                 case 9:{//Might >w 使 Might + x
 142                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 143                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 144                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 145                     break;
 146                 }
 147                 case 10:{//Might >w 使 Speed + x
 148                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 149                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 150                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 151                     break;
 152                 }
 153                 case 11:{ //Might >w 使Sanity+ x 
 154                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 155                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 156                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 157                     break;
 158                 }
 159                 case 12:{//Might >w 使Knowledge + x
 160                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 161                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 162                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 163                     break;
 164                 }
 165                 case 13:{//Speed >w 使Might + x
 166                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 167                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 168                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 169                     break;
 170                 }
 171                 case 14:{//Speed >w 使Speed + x
 172                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 173                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 174                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 175                     break;
 176                 }
 177                 case 15:{//Speed >w 使Sanity + x 
 178                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 179                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 180                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 181                     break;
 182                 }
 183                 case 16:{//Speed >w 使Knowledge + x 
 184                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 185                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 186                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 187                     break;
 188                 }
 189                 case 17:{//Sanity >w 使Might + x
 190                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 191                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 192                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 193                     break;
 194                 }
 195                 case 18:{//Sanity >w 使Speed + x 
 196                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 197                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 198                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 199                     break;
 200                 }
 201                 case 19:{//Sanity >w 使Sanity + x 
 202                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 203                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 204                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 205                     break;
 206                 }
 207                 case 20:{//Sanity >w 使Knowledge + x 
 208                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 209                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 210                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 211                     break;
 212                 }
 213                 case 21:{//Knowledge >w 使Might + x 
 214                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
 215                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
 216                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 217                     break;
 218                 }
 219                 case 22:{//Knowledge >w 使Speed + x 
 220                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
 221                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
 222                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 223                     break;
 224                 }
 225                 case 23:{//Knowledge >w 使Sanity + x 
 226                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
 227                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
 228                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 229                     break;
 230                 }
 231                 case 24:{//Knowledge >w 使Knowledge + x 
 232                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
 233                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
 234                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 235                     break;
 236                 }
 237 /*---------------------------------------------------------------------------------------------------*/
 238                 case 25:{//Might <w 使 Might + x
 239                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 240                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 241                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 242                     break;
 243                 }
 244                 case 26:{//Might <w 使 Speed + x
 245                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 246                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 247                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 248                     break;
 249                 }
 250                 case 27:{ //Might <w 使Sanity+ x 
 251                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 252                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 253                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 254                     break;
 255                 }
 256                 case 28:{//Might <w 使Knowledge + x
 257                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 258                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 259                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 260                     break;
 261                 }
 262                 case 29:{//Speed <w 使Might + x
 263                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 264                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 265                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 266                     break;
 267                 }
 268                 case 30:{//Speed <w 使Speed + x
 269                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 270                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 271                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);;
 272                     break;
 273                 }
 274                 case 31:{//Speed <w 使Sanity + x 
 275                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 276                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 277                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);;
 278                     break;
 279                 }
 280                 case 32:{//Speed <w 使Knowledge + x 
 281                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 282                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 283                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);;
 284                     break;
 285                 }
 286                 case 33:{//Sanity <w 使Might + x
 287                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 288                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 289                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 290                     break;
 291                 }
 292                 case 34:{//Sanity <w 使Speed + x 
 293                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 294                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 295                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 296                     break;
 297                 }
 298                 case 35:{//Sanity <w 使Sanity + x 
 299                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 300                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 301                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 302                     break;
 303                 }
 304                 case 36:{//Sanity <w 使Knowledge + x 
 305                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 306                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 307                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 308                     break;
 309                 }
 310                 case 37:{//Knowledge <w 使Might + x 
 311                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 312                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 313                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 314                     break;
 315                 }
 316                 case 38:{//Knowledge <w 使Speed + x 
 317                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 318                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 319                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 320                     break;
 321                 }
 322                 case 39:{//Knowledge <w 使Sanity + x 
 323                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 324                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 325                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 326                     break;
 327                 }
 328                 case 40:{//Knowledge <w 使Knowledge + x 
 329                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 330                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 331                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 332                     break;
 333                 }
 334 /*---------------------------------------------------------------------------------------------------*/
 335                 case 41:{//Might >=w 使 Might + x
 336                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 337                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 338                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 339                     break;
 340                 }
 341                 case 42:{//Might >=w 使 Speed + x
 342                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 343                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 344                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 345                     break;
 346                 }
 347                 case 43:{ //Might >=w 使Sanity+ x 
 348                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 349                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 350                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 351                     break;
 352                 }
 353                 case 44:{//Might >=w 使Knowledge + x
 354                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 355                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 356                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 357                     break;
 358                 }
 359                 case 45:{//Speed >=w 使Might + x
 360                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 361                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 362                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 363                     break;
 364                 }
 365                 case 46:{//Speed >=w 使Speed + x
 366                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 367                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 368                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 369                     break;
 370                 }
 371                 case 47:{//Speed >=w 使Sanity + x 
 372                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 373                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 374                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 375                     break;
 376                 }
 377                 case 48:{//Speed >=w 使Knowledge + x 
 378                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 379                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 380                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 381                     break;
 382                 }
 383                 case 49:{//Sanity >=w 使Might + x
 384                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 385                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 386                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 387                     break;
 388                 }
 389                 case 50:{//Sanity >=w 使Speed + x 
 390                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 391                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 392                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 393                     break;
 394                 }
 395                 case 51:{//Sanity >=w 使Sanity + x 
 396                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 397                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 398                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 399                     break;
 400                 }
 401                 case 52:{//Sanity >=w 使Knowledge + x 
 402                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 403                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 404                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 405                     break;
 406                 }
 407                 case 53:{//Knowledge >=w 使Might + x 
 408                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 409                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 410                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 411                     break;
 412                 }
 413                 case 54:{//Knowledge >=w 使Speed + x 
 414                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 415                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 416                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 417                     break;
 418                 }
 419                 case 55:{//Knowledge >=w 使Sanity + x 
 420                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 421                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 422                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 423                     break;
 424                 }
 425                 case 56:{//Knowledge >=w 使Knowledge + x 
 426                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 427                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 428                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 429                     break;
 430                 }
 431 /*---------------------------------------------------------------------------------------------------*/
 432                 case 57:{//Might <=w 使 Might + x
 433                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 434                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 435                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 436                     break;
 437                 }
 438                 case 58:{//Might <=w 使 Speed + x
 439                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 440                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 441                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 442                     break;
 443                 }
 444                 case 59:{ //Might <=w 使Sanity+ x 
 445                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 446                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 447                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 448                     break;
 449                 }
 450                 case 60:{//Might <=w 使Knowledge + x
 451                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 452                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 453                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 454                     break;
 455                 }
 456                 case 61:{//Speed <=w 使Might + x
 457                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 458                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 459                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 460                     break;
 461                 }
 462                 case 62:{//Speed <=w 使Speed + x
 463                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 464                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 465                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);;
 466                     break;
 467                 }
 468                 case 63:{//Speed <=w 使Sanity + x 
 469                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 470                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 471                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);;
 472                     break;
 473                 }
 474                 case 64:{//Speed <=w 使Knowledge + x 
 475                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 476                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 477                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);;
 478                     break;
 479                 }
 480                 case 65:{//Sanity <=w 使Might + x
 481                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 482                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 483                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 484                     break;
 485                 }
 486                 case 66:{//Sanity <=w 使Speed + x 
 487                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 488                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 489                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 490                     break;
 491                 }
 492                 case 67:{//Sanity <=w 使Sanity + x 
 493                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 494                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 495                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 496                     break;
 497                 }
 498                 case 68:{//Sanity <=w 使Knowledge + x 
 499                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 500                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 501                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 502                     break;
 503                 }
 504                 case 69:{//Knowledge <=w 使Might + x 
 505                     if(a+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 506                     else f[t][min(a+x,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 507                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
 508                     break;
 509                 }
 510                 case 70:{//Knowledge <=w 使Speed + x 
 511                     if(b+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 512                     else f[t][a][min(b+x,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 513                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
 514                     break;
 515                 }
 516                 case 71:{//Knowledge <=w 使Sanity + x 
 517                     if(c+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 518                     else f[t][a][b][min(c+x,8)][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 519                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
 520                     break;
 521                 }
 522                 case 72:{//Knowledge <=w 使Knowledge + x 
 523                     if(d+x<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 524                     else f[t][a][b][c][min(d+x,8)]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 525                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
 526                     break;
 527                 }
 528 /*----------------------------------------------------------------------------------------------------------*/            
 529                 case 73:{//Might >w 使Might + x个判定
 530                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 531                     for(register int i=0;i<=16;i++){
 532                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w])*p[(int)abs(x)][i];
 533                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w])*p[(int)abs(x)][i];
 534                     }
 535                     break;
 536                 }
 537                 case 74:{//Might >w 使Speed + x个判定
 538                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 539                     for(register int i=0;i<=16;i++){
 540                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w])*p[(int)abs(x)][i];
 541                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w])*p[(int)abs(x)][i];
 542                     }
 543                     break;
 544                 }
 545                 case 75:{//Might >w 使Sanity + x个判定 
 546                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 547                     for(register int i=0;i<=16;i++){
 548                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w])*p[(int)abs(x)][i];
 549                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w])*p[(int)abs(x)][i];
 550                     }
 551                     break;
 552                 }
 553                 case 76:{//Might >w 使Knowledge + x个判定 
 554                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w];
 555                     for(register int i=0;i<=16;i++){
 556                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w])*p[(int)abs(x)][i];
 557                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w])*p[(int)abs(x)][i];
 558                     }
 559                     break;
 560                 }
 561                 case 77:{//Speed >w 使Might + x个判定 
 562                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 563                     for(register int i=0;i<=16;i++){
 564                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w])*p[(int)abs(x)][i];
 565                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w])*p[(int)abs(x)][i];
 566                     }
 567                     break;
 568                 }
 569                 case 78:{//Speed >w 使Speed + x个判定 
 570                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 571                     for(register int i=0;i<=16;i++){
 572                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w])*p[(int)abs(x)][i];
 573                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w])*p[(int)abs(x)][i];
 574                     }
 575                     break;
 576                 }
 577                 
 578                 case 79:{//Speed >w 使Sanity + x个判定 
 579                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 580                     for(register int i=0;i<=16;i++){
 581                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w])*p[(int)abs(x)][i];
 582                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w])*p[(int)abs(x)][i];
 583                     }
 584                     break;
 585                 }
 586                 case 80:{//Speed >w 使Knowledge + x个判定 
 587                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w];
 588                     for(register int i=0;i<=16;i++){
 589                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w])*p[(int)abs(x)][i];
 590                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w])*p[(int)abs(x)][i];
 591                     }
 592                     break;
 593                 }
 594                 case 81:{//Sanity >w 使Might + x个判定 
 595                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 596                     for(register int i=0;i<=16;i++){
 597                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w])*p[(int)abs(x)][i];
 598                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w])*p[(int)abs(x)][i];
 599                     }
 600                     break;
 601                 }
 602                 case 82:{//Sanity >w 使Speed + x个判定 
 603                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 604                     for(register int i=0;i<=16;i++){
 605                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w])*p[(int)abs(x)][i];
 606                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w])*p[(int)abs(x)][i];
 607                     }
 608                     break;
 609                 }
 610                 case 83:{//Sanity >w 使Sanity + x个判定 
 611                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 612                     for(register int i=0;i<=16;i++){
 613                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w])*p[(int)abs(x)][i];
 614                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w])*p[(int)abs(x)][i];
 615                     }
 616                     break;
 617                 }
 618                 case 84:{//Sanity >w 使Knowledge + x个判定 
 619                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w];
 620                     for(register int i=0;i<=16;i++){
 621                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w])*p[(int)abs(x)][i];
 622                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w])*p[(int)abs(x)][i];
 623                     }
 624                     break;
 625                 }
 626                 case 85:{//Knowledge >w 使Might + x个判定 
 627                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 628                     for(register int i=0;i<=16;i++){
 629                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w])*p[(int)abs(x)][i];
 630                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w])*p[(int)abs(x)][i];
 631                     }
 632                     break;
 633                 }
 634                 case 86:{//Knowledge >w 使Speed + x个判定 
 635                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 636                     for(register int i=0;i<=16;i++){
 637                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w])*p[(int)abs(x)][i];
 638                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w])*p[(int)abs(x)][i];
 639                     }
 640                     break;
 641                 }
 642                 case 87:{//Knowledge >w 使Sanity + x个判定 
 643                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 644                     for(register int i=0;i<=16;i++){
 645                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w])*p[(int)abs(x)][i];
 646                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w])*p[(int)abs(x)][i];
 647                     }
 648                     break;
 649                 }
 650                 case 88:{//Knowledge >w 使Sanity + x个判定 
 651                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w];
 652                     for(register int i=0;i<=16;i++){
 653                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w])*p[(int)abs(x)][i];
 654                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w])*p[(int)abs(x)][i];
 655                     }
 656                     break;
 657                 }
 658 /*----------------------------------------------------------------------------------------------------------*/            
 659                 case 89:{//Might <w 使Might + x个判定
 660                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 661                     for(register int i=0;i<=16;i++){
 662                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1]*p[(int)abs(x)][i];
 663                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1]*p[(int)abs(x)][i];
 664                     }
 665                     break;
 666                 }
 667                 case 90:{//Might <w 使Speed + x个判定
 668                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 669                     for(register int i=0;i<=16;i++){
 670                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1]*p[(int)abs(x)][i];
 671                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1]*p[(int)abs(x)][i];
 672                     }
 673                     break;
 674                 }
 675                 case 91:{//Might <w 使Sanity + x个判定 
 676                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 677                     for(register int i=0;i<=16;i++){
 678                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1]*p[(int)abs(x)][i];
 679                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1]*p[(int)abs(x)][i];
 680                     }
 681                     break;
 682                 }
 683                 case 92:{//Might <w 使Knowledge + x个判定 
 684                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1]);
 685                     for(register int i=0;i<=16;i++){
 686                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1]*p[(int)abs(x)][i];
 687                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1]*p[(int)abs(x)][i];
 688                     }
 689                     break;
 690                 }
 691                 case 93:{//Speed <w 使Might + x个判定 
 692                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 693                     for(register int i=0;i<=16;i++){
 694                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1]*p[(int)abs(x)][i];
 695                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1]*p[(int)abs(x)][i];
 696                     }
 697                     break;
 698                 }
 699                 case 94:{//Speed <w 使Speed + x个判定 
 700                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 701                     for(register int i=0;i<=16;i++){
 702                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1]*p[(int)abs(x)][i];
 703                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1]*p[(int)abs(x)][i];
 704                     }
 705                     break;
 706                 }
 707                 
 708                 case 95:{//Speed <w 使Sanity + x个判定 
 709                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 710                     for(register int i=0;i<=16;i++){
 711                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1]*p[(int)abs(x)][i];
 712                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1]*p[(int)abs(x)][i];
 713                     }
 714                     break;
 715                 }
 716                 case 96:{//Speed <w 使Knowledge + x个判定 
 717                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1]);
 718                     for(register int i=0;i<=16;i++){
 719                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1]*p[(int)abs(x)][i];
 720                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1]*p[(int)abs(x)][i];
 721                     }
 722                     break;
 723                 }
 724                 case 97:{//Sanity <w 使Might + x个判定 
 725                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 726                     for(register int i=0;i<=16;i++){
 727                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1]*p[(int)abs(x)][i];
 728                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1]*p[(int)abs(x)][i];
 729                     }
 730                     break;
 731                 }
 732                 case 98:{//Sanity <w 使Speed + x个判定 
 733                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 734                     for(register int i=0;i<=16;i++){
 735                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1]*p[(int)abs(x)][i];
 736                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1]*p[(int)abs(x)][i];
 737                     }
 738                     break;
 739                 }
 740                 case 99:{//Sanity <w 使Sanity + x个判定 
 741                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 742                     for(register int i=0;i<=16;i++){
 743                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1]*p[(int)abs(x)][i];
 744                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1]*p[(int)abs(x)][i];
 745                     }
 746                     break;
 747                 }
 748                 case 100:{//Sanity <w 使Knowledge + x个判定 
 749                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1]);
 750                     for(register int i=0;i<=16;i++){
 751                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1]*p[(int)abs(x)][i];
 752                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1]*p[(int)abs(x)][i];
 753                     } 
 754                     break;
 755                 }
 756                 case 101:{//Knowledge <w 使Might + x个判定 
 757                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 758                     for(register int i=0;i<=16;i++){
 759                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1]*p[(int)abs(x)][i];
 760                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1]*p[(int)abs(x)][i];
 761                     }
 762                     break;
 763                 }
 764                 case 102:{//Knowledge <w 使Speed + x个判定 
 765                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 766                     for(register int i=0;i<=16;i++){
 767                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1]*p[(int)abs(x)][i];
 768                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1]*p[(int)abs(x)][i];
 769                     }
 770                     break;
 771                 }
 772                 case 103:{//Knowledge <w 使Sanity + x个判定 
 773                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 774                     for(register int i=0;i<=16;i++){
 775                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1]*p[(int)abs(x)][i];
 776                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1]*p[(int)abs(x)][i];
 777                     }
 778                     break;
 779                 }
 780                 case 104:{//Knowledge <w 使Knowledge + x个判定 
 781                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1]);
 782                     for(register int i=0;i<=16;i++){
 783                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1]*p[(int)abs(x)][i];
 784                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1]*p[(int)abs(x)][i];
 785                     }
 786                     break;
 787                 }
 788 /*----------------------------------------------------------------------------------------------------------*/            
 789                 case 105:{//Might >=w 使Might + x个判定
 790                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 791                     for(register int i=0;i<=16;i++){
 792                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1])*p[(int)abs(x)][i];
 793                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1])*p[(int)abs(x)][i];
 794                     }
 795                     break;
 796                 }
 797                 case 106:{//Might >=w 使Speed + x个判定
 798                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 799                     for(register int i=0;i<=16;i++){
 800                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1])*p[(int)abs(x)][i];
 801                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1])*p[(int)abs(x)][i];
 802                     }
 803                     break;
 804                 }
 805                 case 107:{//Might >=w 使Sanity + x个判定 
 806                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 807                     for(register int i=0;i<=16;i++){
 808                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1])*p[(int)abs(x)][i];
 809                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1])*p[(int)abs(x)][i];
 810                     }
 811                     break;
 812                 }
 813                 case 108:{//Might >=w 使Knowledge + x个判定 
 814                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w-1];
 815                     for(register int i=0;i<=16;i++){
 816                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1])*p[(int)abs(x)][i];
 817                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w-1])*p[(int)abs(x)][i];
 818                     }
 819                     break;
 820                 }
 821                 case 109:{//Speed >=w 使Might + x个判定 
 822                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 823                     for(register int i=0;i<=16;i++){
 824                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1])*p[(int)abs(x)][i];
 825                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1])*p[(int)abs(x)][i];
 826                     }
 827                     break;
 828                 }
 829                 case 110:{//Speed >=w 使Speed + x个判定 
 830                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 831                     for(register int i=0;i<=16;i++){
 832                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1])*p[(int)abs(x)][i];
 833                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1])*p[(int)abs(x)][i];
 834                     }
 835                     break;
 836                 }
 837                 
 838                 case 111:{//Speed >=w 使Sanity + x个判定 
 839                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 840                     for(register int i=0;i<=16;i++){
 841                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1])*p[(int)abs(x)][i];
 842                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1])*p[(int)abs(x)][i];
 843                     }
 844                     break;
 845                 }
 846                 case 112:{//Speed >=w 使Knowledge + x个判定 
 847                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w-1];
 848                     for(register int i=0;i<=16;i++){
 849                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1])*p[(int)abs(x)][i];
 850                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w-1])*p[(int)abs(x)][i];
 851                     }
 852                     break;
 853                 }
 854                 case 113:{//Sanity >=w 使Might + x个判定 
 855                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 856                     for(register int i=0;i<=16;i++){
 857                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1])*p[(int)abs(x)][i];
 858                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1])*p[(int)abs(x)][i];
 859                     }
 860                     break;
 861                 }
 862                 case 114:{//Sanity >=w 使Speed + x个判定 
 863                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 864                     for(register int i=0;i<=16;i++){
 865                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1])*p[(int)abs(x)][i];
 866                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1])*p[(int)abs(x)][i];
 867                     }
 868                     break;
 869                 }
 870                 case 115:{//Sanity >=w 使Sanity + x个判定 
 871                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 872                     for(register int i=0;i<=16;i++){
 873                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1])*p[(int)abs(x)][i];
 874                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1])*p[(int)abs(x)][i];
 875                     }
 876                     break;
 877                 }
 878                 case 116:{//Sanity >=w 使Knowledge + x个判定 
 879                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w-1];
 880                     for(register int i=0;i<=16;i++){
 881                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1])*p[(int)abs(x)][i];
 882                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w-1])*p[(int)abs(x)][i];
 883                     }
 884                     break;
 885                 }
 886                 case 117:{//Knowledge >=w 使Might + x个判定 
 887                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 888                     for(register int i=0;i<=16;i++){
 889                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1])*p[(int)abs(x)][i];
 890                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1])*p[(int)abs(x)][i];
 891                     }
 892                     break;
 893                 }
 894                 case 118:{//Knowledge >=w 使Speed + x个判定 
 895                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 896                     for(register int i=0;i<=16;i++){
 897                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1])*p[(int)abs(x)][i];
 898                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1])*p[(int)abs(x)][i];
 899                     }
 900                     break;
 901                 }
 902                 case 119:{//Knowledge >=w 使Sanity + x个判定 
 903                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 904                     for(register int i=0;i<=16;i++){
 905                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1])*p[(int)abs(x)][i];
 906                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1])*p[(int)abs(x)][i];
 907                     }
 908                     break;
 909                 }
 910                 case 120:{//Knowledge >=w 使Knowledge + x个判定 
 911                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w-1];
 912                     for(register int i=0;i<=16;i++){
 913                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1])*p[(int)abs(x)][i];
 914                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w-1])*p[(int)abs(x)][i];
 915                     }
 916                     break;
 917                 }
 918 /*----------------------------------------------------------------------------------------------------------*/            
 919                 case 121:{//Might <=w 使Might + x个判定
 920                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 921                     for(register int i=0;i<=16;i++){
 922                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w]*p[(int)abs(x)][i];
 923                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w]*p[(int)abs(x)][i];
 924                     }
 925                     break;
 926                 }
 927                 case 122:{//Might <=w 使Speed + x个判定
 928                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 929                     for(register int i=0;i<=16;i++){
 930                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w]*p[(int)abs(x)][i];
 931                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w]*p[(int)abs(x)][i];
 932                     }
 933                     break;
 934                 }
 935                 case 123:{//Might <=w 使Sanity + x个判定 
 936                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 937                     for(register int i=0;i<=16;i++){
 938                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w]*p[(int)abs(x)][i];
 939                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*sum[num[1][a]][w]*p[(int)abs(x)][i];
 940                     }
 941                     break;
 942                 }
 943                 case 124:{//Might <=w 使Knowledge + x个判定 
 944                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[1][a]][w]);
 945                     for(register int i=0;i<=16;i++){
 946                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[1][a]][w]*p[(int)abs(x)][i];
 947                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*sum[num[1][a]][w]*p[(int)abs(x)][i];
 948                     }
 949                     break;
 950                 }
 951                 case 125:{//Speed <=w 使Might + x个判定 
 952                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 953                     for(register int i=0;i<=16;i++){
 954                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w]*p[(int)abs(x)][i];
 955                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w]*p[(int)abs(x)][i];
 956                     }
 957                     break;
 958                 }
 959                 case 126:{//Speed <=w 使Speed + x个判定 
 960                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 961                     for(register int i=0;i<=16;i++){
 962                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w]*p[(int)abs(x)][i];
 963                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w]*p[(int)abs(x)][i];
 964                     }
 965                     break;
 966                 }
 967                 
 968                 case 127:{//Speed <=w 使Sanity + x个判定 
 969                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 970                     for(register int i=0;i<=16;i++){
 971                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w]*p[(int)abs(x)][i];
 972                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*sum[num[2][b]][w]*p[(int)abs(x)][i];
 973                     }
 974                     break;
 975                 }
 976                 case 128:{//Speed <=w 使Knowledge + x个判定 
 977                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[2][b]][w]);
 978                     for(register int i=0;i<=16;i++){
 979                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[2][b]][w]*p[(int)abs(x)][i];
 980                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*sum[num[2][b]][w]*p[(int)abs(x)][i];
 981                     }
 982                     break;
 983                 }
 984                 case 129:{//Sanity <=w 使Might + x个判定 
 985                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 986                     for(register int i=0;i<=16;i++){
 987                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w]*p[(int)abs(x)][i];
 988                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w]*p[(int)abs(x)][i];
 989                     }
 990                     break;
 991                 }
 992                 case 130:{//Sanity <=w 使Speed + x个判定 
 993                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
 994                     for(register int i=0;i<=16;i++){
 995                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w]*p[(int)abs(x)][i];
 996                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w]*p[(int)abs(x)][i];
 997                     }
 998                     break;
 999                 }
1000                 case 131:{//Sanity <=w 使Sanity + x个判定 
1001                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
1002                     for(register int i=0;i<=16;i++){
1003                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w]*p[(int)abs(x)][i];
1004                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*sum[num[3][c]][w]*p[(int)abs(x)][i];
1005                     }
1006                     break;
1007                 }
1008                 case 132:{//Sanity <=w 使Knowledge + x个判定 
1009                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[3][c]][w]);
1010                     for(register int i=0;i<=16;i++){
1011                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[3][c]][w]*p[(int)abs(x)][i];
1012                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*sum[num[3][c]][w]*p[(int)abs(x)][i];
1013                     }
1014                     break;
1015                 }
1016                 case 133:{//Knowledge <=w 使Might + x个判定 
1017                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
1018                     for(register int i=0;i<=16;i++){
1019                         if(a+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w]*p[(int)abs(x)][i];
1020                         else f[t][min(a+(x>0?1:-1)*i,8)][b][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w]*p[(int)abs(x)][i];
1021                     }
1022                     break;
1023                 }
1024                 case 134:{//Knowledge <=w 使Speed + x个判定 
1025                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
1026                     for(register int i=0;i<=16;i++){
1027                         if(b+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w]*p[(int)abs(x)][i];
1028                         else f[t][a][min(b+(x>0?1:-1)*i,8)][c][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w]*p[(int)abs(x)][i];
1029                     }
1030                     break;
1031                 }
1032                 case 135:{//Knowledge <=w 使Sanity + x个判定 
1033                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
1034                     for(register int i=0;i<=16;i++){
1035                         if(c+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w]*p[(int)abs(x)][i];
1036                         else f[t][a][b][min(c+(x>0?1:-1)*i,8)][d]+=f[t-1][a][b][c][d]*sum[num[4][d]][w]*p[(int)abs(x)][i];
1037                     }
1038                     break;
1039                 }
1040                 case 136:{//Knowledge <=w 使Knowledge + x个判定 
1041                     f[t][a][b][c][d]+=f[t-1][a][b][c][d]*(1.0-sum[num[4][d]][w]);
1042                     for(register int i=0;i<=16;i++){
1043                         if(d+(x>0?1:-1)*i<=0) f[0][0][0][0][0]+=f[t-1][a][b][c][d]*sum[num[4][d]][w]*p[(int)abs(x)][i];
1044                         else f[t][a][b][c][min(d+(x>0?1:-1)*i,8)]+=f[t-1][a][b][c][d]*sum[num[4][d]][w]*p[(int)abs(x)][i];
1045                     }
1046                     break;
1047                 }
1048                 default: break;
1049             } 
1050         }
1051         for(register int i=1;i<=8;i++){
1052             for(register int j=1;j<=8;j++){
1053                 for(register int k=1;k<=8;k++){
1054                     for(register int l=1;l<=8;l++){
1055                         if(f[t][i][j][k][l]>0) q.push((node){i,j,k,l});
1056                     }
1057                 }
1058             }
1059         }
1060     }
1061     printf("%.2lf
",f[0][0][0][0][0]*100.0);
1062     for(register int i=1;i<=8;i++){
1063         for(register int j=1;j<=8;j++){
1064             for(register int k=1;k<=8;k++){
1065                 for(register int l=1;l<=8;l++){
1066                     ans[1][num[1][i]]+=f[n][i][j][k][l];
1067                     ans[2][num[2][j]]+=f[n][i][j][k][l];
1068                     ans[3][num[3][k]]+=f[n][i][j][k][l];
1069                     ans[4][num[4][l]]+=f[n][i][j][k][l];
1070                 }
1071             }
1072         }
1073     }
1074     for(register int i=1;i<=4;i++,cout<<endl){
1075         for(register int j=1;j<=8;j++){
1076             printf("%.2lf ",ans[i][j]*100.0);
1077         }
1078     }
1079 }
原文地址:https://www.cnblogs.com/heoitys/p/11759641.html