啥也不说,放代码(额~,虽然没有跟其他人比不是最长,也不错了)
缩放品尝,风味更加~
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 }