zoukankan      html  css  js  c++  java
  • 大模拟祭

    考试的前一天晚上我还在和$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
    ",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号字,并且全屏,然后不停的查找,调试

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

  • 相关阅读:
    设计模式
    C++下char/string跟int型转换比较
    function
    流程控制
    运算符
    type
    language
    phpbasic
    html标签集合
    课题六
  • 原文地址:https://www.cnblogs.com/hzjuruo/p/11751457.html
Copyright © 2011-2022 走看看