大模拟祭

考试的前一天晚上我还在和$letong$说,我以后晚上再颓就去打模拟,然后就考了个大模拟

我比较$sb$,各种情况全分开了,没怎么压行,打了$1000$行整,$30$多$k$,妈妈再也不怕我打不出来猪国杀了

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

别问我怎么调的,你大概需要开着10号字,并且全屏,然后不停的查找,调试

我打错了无数多个变量名,我不是人

posted @ 2019-10-28 12:04  hzoi_X&R  阅读(325)  评论(8编辑  收藏  举报